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

题目:

题解:

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;
        }
    }
}
相关推荐
海石7 分钟前
子树怎么找?树的3种遍历方式来帮忙!
算法·leetcode
海石11 分钟前
难度分 1588:思路 + 技巧 = AC
算法·leetcode
山登绝顶我为峰 3(^v^)35 小时前
C/C++ 交叉编译方法
java·c语言·c++
LONGZETECH8 小时前
新能源汽车动力电池检测仿真教学系统:C/S 分层架构与数字化实训落地全解析
大数据·c语言·开发语言·人工智能·架构·系统架构·汽车
Frostnova丶9 小时前
(12)LeetCode 76. 最小覆盖子串
算法·leetcode·职场和发展
wabs66610 小时前
关于动态规划【力扣583.两个字符串的删除操作的思考】
算法·leetcode·动态规划
legendary_16310 小时前
SINK芯片:Type-C统一供电时代的小家电核心方案
c语言·开发语言·人工智能·智能手机
_Doubletful10 小时前
妙用位运算:解构汉明距离至100%(提供分析与多解)
c语言·算法·leetcode
凯瑟琳.奥古斯特10 小时前
力扣1013三等分解法与C++实现
开发语言·c++·算法·leetcode·职场和发展
凯瑟琳.奥古斯特12 小时前
力扣1012数位DP解法详解
开发语言·c++·算法·leetcode·职场和发展