75. 颜色分类
Posted 潜行前行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了75. 颜色分类相关的知识,希望对你有一定的参考价值。
- 颜色分类
给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。
此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。
示例 1:
输入:nums = [2,0,2,1,1,0]
输出:[0,0,1,1,2,2]
示例 2:
输入:nums = [2,0,1]
输出:[0,1,2]
示例 3:
输入:nums = [0]
输出:[0]
示例 4:
输入:nums = [1]
输出:[1]
提示:
n == nums.length
1 <= n <= 300
nums[i] 为 0、1 或 2
题解
class Solution {
public void sortColors(int[] nums) {
int[] data = new int[3];
for(int num : nums){
if(num == 0){
data[0] = data[0]+1;
}else if(num == 1){
data[1] = data[1]+1;
}else{
data[2] = data[2]+1;
}
}
Arrays.fill(nums,0,data[0],0);
Arrays.fill(nums,data[0],data[0]+data[1],1);
Arrays.fill(nums,data[0]+data[1],data[0]+data[1]+data[2],2);
}
}
以上是关于75. 颜色分类的主要内容,如果未能解决你的问题,请参考以下文章