class Solution {
public:
void sortColors(vector<int>& nums) {
int CountNum[3] ={0};
for(int i = 0;i<nums.size();i++)
{
CountNum[nums[i]]++;
}
int i = 0;
for(int j = 0;j<3;j++)
while(CountNum[j]--)nums[i++]=j;//需要用3次展开才会是4ms,否则是5ms
/*使用fill效率会降低1ms
fill(nums.begin(), nums.begin() + CountNum[0], 0);
fill(nums.begin() + CountNum[0], nums.begin()+CountNum[0] + CountNum[1], 1);
fill(nums.begin()+CountNum[0] + CountNum[1], nums.end(), 2);*/
}
};
LeetCode || Sort Colors
最新推荐文章于 2020-07-31 06:04:33 发布