【LeetCode每日一题】[中等]75. 颜色分类
75. 颜色分类
题目来源 算法思想:“荷兰国旗问题”,数组计数排序,指针
题目:
使用的方法:计数排序,统计0,1,2的个数,然后重写数组
java代码
class Solution {
public void sortColors(int[] nums
) {
int zero
= 0;
int one
= 0;
int two
= 0;
for (int i
= 0; i
< nums
.length
; i
++) {
if(nums
[i
] == 0) {
zero
++;
}
if(nums
[i
] == 1) {
one
++;
}
if(nums
[i
] == 2) {
two
++;
}
}
int index
= 0;
while(index
< nums
.length
) {
if(index
< zero
) {
nums
[index
] = 0;
}
else if(index
< zero
+ one
) {
nums
[index
] = 1;
}
else {
nums
[index
] = 2;
}
index
++;
}
}
}