被曝遭蘋果產業鏈剔除,歐菲光:3 月 12 日收到境外特定客戶終止採購關係的通知
阿新 • • 發佈:2021-03-22
難度:困難。
標籤:排序,陣列,雙指標。
在紙上畫一畫試著交換一下應該可以想到。但我沒畫直接看了題解。
正確解法:
class Solution {
public:
void sortColors(vector<int>& nums) {
int n = nums.size();
int p0 = 0, p1 = 0;
for(int i = 0; i < n; i++){
if(nums[i] == 0){
swap(nums[i], nums[p0]);
if (p0 < p1){
swap(nums[i], nums[p1]);
}
p0++;
p1++;
}
else if(nums[i] == 1){
swap(nums[i], nums[p1]);
p1++;
}
}
}
};
結果: