技术栈

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》算法详解
相关推荐
POLITE3
1 天前
Leetcode 19. 删除链表的倒数第 N 个结点 JavaScript (Day 11)
javascript·leetcode·链表
智者知已应修善业
1 天前
【数组删除重复数据灵活算法可修改保留重复数量】2024-3-4
c语言·c++·经验分享·笔记·算法
你怎么知道我是队长
1 天前
C语言---字符串
java·c语言·算法
你怎么知道我是队长
1 天前
C语言---指针
c语言·数据结构·算法
你怎么知道我是队长
1 天前
C语言---函数指针和回调函数
c语言·开发语言
tbRNA
1 天前
C/C++ 内存管理
c语言·c++
多米Domi011
1 天前
0x3f 第20天 三更24-32 hot100子串
java·python·算法·leetcode·动态规划
能量鸣新
1 天前
资源分享第三天
c语言·开发语言·c++·python·计算机视觉·c#
漫随流水
1 天前
leetcode算法(344.反转字符串)
数据结构·算法·leetcode
POLITE3
1 天前
Leetcode 2.两数相加 JavaScript (Day 11)
前端·javascript·leetcode
热门推荐
01GitHub 镜像站点02手把手教你通过Gemini3 pro 学生认证,白用一年,手慢无!03安娜的档案(Anna’s Archive) 镜像网站/国内最新可访问入口(持续更新)04Linux下V2Ray安装配置指南05Labelme从安装到标注:零基础完整指南06jdk21下载、安装(Windows、Linux、macOS)072025 最新教程:注册并切换到美区 Apple ID08GitLab 零基础入门指南:从安装到项目管理全流程09Figma MCP + Cursor 完全配置与使用指南:实现设计到代码的智能转换10Claude Code Skills 实用使用手册