力扣 | 75. 颜色分类

给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。

我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。

必须在不使用库内置的 sort 函数的情况下解决这个问题。

示例 1:

输入:nums = [2,0,2,1,1,0]

输出:[0,0,1,1,2,2]

示例 2:

输入:nums = [2,0,1]

输出:[0,1,2]

dart 复制代码
public class Problem_75_SortColors {
    public void sortColors(int[] nums) {
        int [] count = new int[3];
        for (int num:nums) {//nums的值0 1 2
            count[num]++;
        }
        int k = 0;
        for (int i = 0; i < 3; i++) {
            int num = count[i];
            for (int j = 0; j < num; j++) {
                nums[k++] = i;
            }
        }
    }
}
相关推荐
Liangwei Lin1 小时前
LeetCode 74. 搜索二维矩阵
算法·leetcode·矩阵
phltxy1 小时前
Redis Hash 数据类型:详解命令与实战场景
redis·算法·哈希算法
放羊郎8 小时前
基于ORB-SLAM2算法的优化工作
人工智能·算法·计算机视觉
mask哥8 小时前
力扣算法java实现汇总整理(上)
java·算法·leetcode
如果'\'真能转义说9 小时前
OOXML 文档格式剖析:哈希、ZIP结构与识别
xml·算法·c#·哈希算法
夏日听雨眠9 小时前
数据结构(栈和队列)
数据结构
梦梦代码精11 小时前
BuildingAI 上部署自定义工作流智能体:5 个实用技巧
大数据·人工智能·算法·开源软件
Zephyr_012 小时前
Leedcode算法题
java·算法
流年如夢12 小时前
栈和列队(LeetCode)
数据结构·算法·leetcode·链表·职场和发展