技术栈

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》算法详解
相关推荐
Xin770
1 天前
LeetCode 79. 单词搜索(DFS 回溯法)
leetcode
Zwawa
1 天前
编译器工具链:GCC、Clang、MSVC、ICC、armclang
c语言·嵌入式·编译器
学逆向的
1 天前
C 指针常量与常量指针
c语言·开发语言·网络安全
水饺编程
1 天前
第2章:Linux 基础,exit 命令
linux·c语言·汇编
INGNIGHT
1 天前
440 · 背包问题(三)(无限次数)
算法·leetcode·动态规划
极客 - L U
1 天前
卡尔曼滤波从零到精通
c语言·数据结构·单片机·嵌入式硬件·mcu
Tisfy
1 天前
LeetCode 3619.总价值可以被 K 整除的岛屿数目:广度优先搜索BFS
算法·leetcode·bfs·宽度优先
谙弆悕博士
1 天前
用 C 写了个 Windows 聊天室,踩了几个多线程和控制台的坑
c语言·开发语言·c++·windows·网络编程·聊天室
水饺编程
1 天前
第2章:Linux 基础,删除用户
linux·c语言·汇编
小鱼仙官
1 天前
使用Qt封装C/C++ 动态库 用于第三方调用
c语言·c++·qt
热门推荐
01如何新建文件夹? 电脑新建文件夹的4种方法02国内可直接用、免费额度/永久免费的大模型API清单(含 SiliconFlow、火山、阿里、智谱、百度、Kimi、DeepSeek、DMXAPI 等)03历年考研数学一、数学二、数学三真题试卷及答案PDF04GitHub 镜像站点05几个好用的ip纯净度检测网站06昇腾910B系列芯片完全指南:四款型号对比、服务器选型与大模型部署实战07苹果iPA游戏软件资源下载网站08CVE-2026-91403 高危漏洞预警:Java JSSE 信任链被攻破 全场景修复方案与Linux系统级彻底清理实操09蜘蛛磁力 搜索引擎大全,如何使用蜘蛛磁力查找磁力链接10微信历史版本含下载地址( Windows PC | 安卓 | MAC )及设置微信不更新