技术栈

C语言 | Leetcode C语言题解之第75题颜色分类

DdddJMs__1352024-05-11 11:41

题目:

题解:

cpp 复制代码
void swap(int *a, int *b) {
    int t = *a;
    *a = *b, *b = t;
}

void sortColors(int *nums, int numsSize) {
    int p0 = 0, p2 = numsSize - 1;
    for (int i = 0; i <= p2; ++i) {
        while (i <= p2 && nums[i] == 2) {
            swap(&nums[i], &nums[p2]);
            --p2;
        }
        if (nums[i] == 0) {
            swap(&nums[i], &nums[p0]);
            ++p0;
        }
    }
}
上一篇:Java刷题-基础篇
下一篇:《Mask2Former》算法详解
相关推荐
Pniubi
23 分钟前
力扣42接雨水(动态规划法)
算法·leetcode·职场和发展
可乐_不渴
1 小时前
# C语言文件操作全解析:从 fopen 到 fclose,一文吃透文件 IO
linux·服务器·c语言
Pniubi
1 小时前
力扣46全排列(回溯(递归))
算法·leetcode·职场和发展
文丑颜不良啊
2 小时前
LeetCode1461~1480题目解析
java·leetcode
Pniubi
11 小时前
力扣283移动零(双指针法)
算法·leetcode·职场和发展
Zwawa
14 小时前
串口为什么会丢字节:从轮询到中断和环形缓冲区
c语言·单片机·嵌入式
揽星河..
17 小时前
【C语言】分支和循环
c语言·c++·算法
揽星河..
19 小时前
【C语言】猜数字游戏
c语言·算法·游戏
旖旎夜光
1 天前
LeetCode 315: 算右侧小于当前元素的个数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
文丑颜不良啊
1 天前
LeetCode1401~1420题目解析
java·leetcode
热门推荐
01如何新建文件夹? 电脑新建文件夹的4种方法02国内可直接用、免费额度/永久免费的大模型API清单(含 SiliconFlow、火山、阿里、智谱、百度、Kimi、DeepSeek、DMXAPI 等)03GitHub 镜像站点04历年考研数学一、数学二、数学三真题试卷及答案PDF05几个好用的ip纯净度检测网站06Android 屏幕适配系列开篇:核心概念、官方机制与主流方案07Dify:一站式AI应用开发平台全解析与Windows部署指南08苹果iPA游戏软件资源下载网站09昇腾910B系列芯片完全指南:四款型号对比、服务器选型与大模型部署实战10蜘蛛磁力 搜索引擎大全,如何使用蜘蛛磁力查找磁力链接