WEI-CHENG CHEN

說明

先從 26 開始(26 是保留一位 => 延伸保留 k 位,再來寫這題)

解法

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        return f(nums, 2);
    }

    int f(vector<int>& nums, int k){
        if (nums.size() <= k) return nums.size();

        int left = k - 1;
        for(int right=k;right<nums.size();right++){
            if(nums[right]!=nums[left-k+1]){
                left++; // 我是要先往後一個,而不是覆蓋掉nums[left]本身
                nums[left]=nums[right];
            }
        }
        return left+1;
    }
};