力扣 | 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;
            }
        }
    }
}
相关推荐
CUMT_DJ2 小时前
matlab计算算法的运行时间
开发语言·算法·matlab
Univin5 小时前
C++(10.4)
开发语言·数据结构·c++
KyollBM5 小时前
每日羊题 (质数筛 + 数学 | 构造 + 位运算)
开发语言·c++·算法
Univin7 小时前
C++(10.5)
开发语言·c++·算法
Asmalin7 小时前
【代码随想录day 35】 力扣 01背包问题 一维
算法·leetcode·职场和发展
剪一朵云爱着7 小时前
力扣2779. 数组的最大美丽值
算法·leetcode·排序算法
qq_428639617 小时前
虚幻基础:组件间的联动方式
c++·算法·虚幻
深瞳智检8 小时前
YOLO算法原理详解系列 第002期-YOLOv2 算法原理详解
人工智能·算法·yolo·目标检测·计算机视觉·目标跟踪
tao3556678 小时前
【Python刷力扣hot100】283. Move Zeroes
开发语言·python·leetcode
怎么没有名字注册了啊8 小时前
C++后台进程
java·c++·算法