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;
        }
    }
}
相关推荐
zander25824 分钟前
LeetCode 300. 最长递增子序列
算法·leetcode·深度优先
程序员与背包客_CoderZ31 分钟前
高性能分布式KV存储引擎RocksDB入门与C/C++编码实战
c语言·开发语言·数据库·c++·分布式·分布式数据库·rocksdb
欧叶冲冲冲40 分钟前
Python常见数据结构的CRUD(LeetCode高频版速查)
数据结构·python·leetcode
william_yangshun1 小时前
【大模型部署实战】kimi-k3-in-c 中文版:用 176KB 纯 C99 引擎在 CPU 上跑 Kimi K3 上手指南
c语言·开发语言
圣保罗的大教堂1 小时前
leetcode 3622. 判断整除性 简单
leetcode
Lyyaoo.2 小时前
【普通数组】【中等】除了自身以外数组的乘积
数据结构·算法·leetcode
Yyyyyy~3 小时前
【C语言】数据类型和变量【下】
c语言
圣保罗的大教堂3 小时前
leetcode 2996. 大于等于顺序前缀和的最小缺失整数 简单
leetcode
圣保罗的大教堂3 小时前
leetcode 3702. 按位异或非零的最长子序列 中等
leetcode
小雪崩4 小时前
嵌入式学习 day30:minilog
linux·c语言·学习