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;
        }
    }
}
相关推荐
iFlyCai5 小时前
C语言中的指针
c语言·数据结构·算法
XWalnut6 小时前
LeetCode刷题 day4
算法·leetcode·职场和发展
旖-旎7 小时前
分治(库存管理|||)(4)
c++·算法·leetcode·排序算法·快速选择算法
良木生香8 小时前
【C++初阶】:C++类和对象(下):构造函数promax & 类型转换 & static & 友元 & 内部类 & 匿名对象 & 超级优化
c语言·开发语言·c++
无巧不成书02188 小时前
C语言零基础速通指南 | 1小时从入门到跑通完整项目
c语言·开发语言·编程实战·c语言入门·零基础编程·c语言速通
Kk.08029 小时前
力扣 LCR 084.全排列||
算法·leetcode·职场和发展
旖-旎9 小时前
分治(快速选择算法)(3)
c++·算法·leetcode·排序算法·快速选择
_日拱一卒10 小时前
LeetCode:合并区间
算法·leetcode·职场和发展
jimy110 小时前
C语言函数指针
c语言·开发语言
眺望电子-ARM嵌入式12 小时前
RK3588 Type-C一线通,DP显示输出实战指南
c语言·开发语言