延續I
變成每種element最多出現2次。
第一直覺是,多加一個判斷幾次的變數
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int index = 0, onetime = true;
for(int i = 1; i < nums.size(); i++) {
if ((nums[index] == nums[i]) && onetime) {
index++;
nums[index] = nums[i];
onetime = false;
}
else if(nums[index] != nums[i]) {
index++;
nums[index] = nums[i];
onetime = true;
}
}
return index + 1;
}
};
但是其實有更簡潔的做法,像是遇到size為2以下的可以直接return size,而且我的程式擴展性不好,如果變成允許3個,我就又要重寫了。
參考:
https://ithelp.ithome.com.tw/articles/10267168