[LeetCode]75. Sort Colors
题目描述
思路
只有三个数字,可以用快排简化版,确定支点为1
进一步,更简单的方法,扫描一次获取每个数字的个数即可
代码
class Solution {
public:
void sortColors(vector<int>& nums) {
int count_0 = 0, count_1 = 0;
for (int &p : nums) {
if (p == 0)
++count_0;
if (p == 1)
++count_1;
}
for (int i = 0; i < nums.size(); ++i) {
if (i < count_0)
nums[i] = 0;
else if (i >= count_0 && i <count_0 + count_1)
nums[i] = 1;
else
nums[i] = 2;
}
}
};
3116

被折叠的 条评论
为什么被折叠?



