技术栈

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》算法详解
相关推荐
yyy(十一月限定版)
8 小时前
224redfg
c语言
All for pursuit.
10 小时前
【位运算-1】338.比特位计数
数据结构·c++·算法·leetcode
小师兄吃牛肉
10 小时前
C语言中的nullptr有必要吗
c语言·c++·算法
lhbweilai
12 小时前
深挖FreeRTOS内核实现(三)
c语言·stm32·单片机
xxwl585
12 小时前
数据结构知识点和代码实现总结(C语言实现)
c语言·开发语言·数据结构
小灰灰搞电子
13 小时前
C语言 <time.h> 头文件详解
c语言·time.h
C++ 老炮儿的技术栈
15 小时前
sizeof操作符
c语言·c++·人工智能·mfc·c
wuminyu
15 小时前
ForkJoinPool内部WorkQueue的Lock-Free数组操作以及并发任务窃取原理剖析
java·linux·c语言·jvm·c++
她说彩礼65万
15 小时前
C语言 堆区和栈区
java·linux·c语言
小师兄吃牛肉
17 小时前
C语言基本语法汇总
c语言
热门推荐
01如何新建文件夹? 电脑新建文件夹的4种方法02国内可直接用、免费额度/永久免费的大模型API清单(含 SiliconFlow、火山、阿里、智谱、百度、Kimi、DeepSeek、DMXAPI 等)03历年考研数学一、数学二、数学三真题试卷及答案PDF04Telegram APK 下载安装完整指南 — 2026年最新05GitHub 镜像站点06蜘蛛磁力 搜索引擎大全,如何使用蜘蛛磁力查找磁力链接07微信历史版本含下载地址( Windows PC | 安卓 | MAC )及设置微信不更新08Windows 10/11 如何退出微软账户并改用本地账户登录(含找不到选项的解决方法)092026 爱知・名古屋亚运会怎么看?直播平台+赛程安排分享10给AI一张“业务概念地图“:本体如何从哲学走向企业智能