1. 程式人生 > 資訊 >被曝遭蘋果產業鏈剔除,歐菲光:3 月 12 日收到境外特定客戶終止採購關係的通知

被曝遭蘋果產業鏈剔除,歐菲光:3 月 12 日收到境外特定客戶終止採購關係的通知

難度:困難。
標籤:排序,陣列,雙指標。

在紙上畫一畫試著交換一下應該可以想到。但我沒畫直接看了題解。

正確解法:

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++; } } } };

結果:
在這裡插入圖片描述