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;
        }
    }
}
相关推荐
小辉同志3 小时前
215. 数组中的第K个最大元素
数据结构·算法·leetcode··快速选择
memcpy04 小时前
LeetCode 2615. 等值距离和【相同元素分组+前缀和;考虑距离和的增量】中等
算法·leetcode·职场和发展
alphaTao5 小时前
LeetCode 每日一题 2026/4/20-2026/4/26
算法·leetcode·职场和发展
三品吉他手会点灯5 小时前
C语言学习笔记 - 14.C编程预备计算机专业知识 - 本讲内容概述
c语言·笔记·学习
爱编码的小八嘎5 小时前
C语言完美演绎8-18
c语言
三品吉他手会点灯6 小时前
C语言学习笔记 - 15.C编程预备计算机专业知识 - CPU 内存条 硬盘 显卡 主板 显示器 之间的关系
c语言·笔记·学习
三品吉他手会点灯6 小时前
C语言学习笔记 - 11.C语言简介 - VSCode(C/C++)环境安装与配置
c语言·笔记·学习
风一样的航哥6 小时前
LeetCode 2615 等值距离和:前缀和优化O(n)解法深度解析
数据结构·算法·leetcode
旖-旎7 小时前
深搜(二叉树的所有路径)(6)
c++·算法·leetcode·深度优先·递归
hhb_6187 小时前
C Shell 基础语法与高阶运维实战指南
运维·c语言·chrome