2023年2月2日 星期四

75. Sort Colors

解題思路

不能用寫好的 sort 函式,而且要 in-place。提示裡面說紀錄 0 跟 1 的數量,所以就照這個做法。

程式碼

class Solution {
public:
    void sortColors(vector<int>& nums) {
        int count0 = 0, count1 = 0;
        for(int i=0; i<nums.size(); i++)
        {
            if(nums[i] == 0)
                count0++;
            else if(nums[i] == 1)
                count1++;
        }
        for(int i=0; i<count0; i++)
            nums[i] = 0;
        for(int i=count0; i<count0+count1; i++)
            nums[i] = 1;
        for(int i=count0+count1; i<nums.size(); i++)
            nums[i] = 2;
    }
};

沒有留言:

張貼留言