80. Remove Duplicates from Sorted Array II

題目

Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?

For example,
Given sorted array nums = [1,1,1,2,2,3],

Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn't matter what you leave beyond the new length.

分析

26. Remove Duplicates from Sorted Array差不多,只是我增加了一個變量來判斷這個數(shù)出現(xiàn)的次數(shù),超過2次就略過

代碼

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if (nums.empty())
            return 0;
        int index=0;
        int times=0;//記錄某個數(shù)出現(xiàn)次數(shù)
        for(int i=1;i<nums.size();i++){
            if (nums[index]!=nums[i]){//不相等 
                nums[++index]=nums[i]; 
                times=0;//不相等,代表是新的數(shù),計(jì)數(shù)器歸0
            }else{//相等 
                times++;
                if (times<2){
                    nums[++index]=nums[i];  
                } 
            } 
        } 
        return index+1;
    }
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容