75. Sort Colors
problem description
Input: [2,0,2,1,1,0]
Output: [0,0,1,1,2,2]algorithm thought
code
algorithm analysis
Last updated
Input: [2,0,2,1,1,0]
Output: [0,0,1,1,2,2]Last updated
class Solution {
public:
void sortColors(vector<int>& nums) {
int pos_1=0,pos_2=0;
for(int i=0;i<nums.size();++i){
if(nums[i]==1){
swap(nums[i],nums[pos_2++]);
}
else if(nums[i]==0){
swap(nums[i],nums[pos_1++]);
if(pos_1-1!=pos_2)
swap(nums[i],nums[pos_2++]);
else
pos_2++;
}
}
}
};