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.
題目:將有序數(shù)組中出現(xiàn)次數(shù)大于2的數(shù)更改為出現(xiàn)2次,返回最終數(shù)組的長度
思路:因為題目給的是有序數(shù)組,所以依次序?qū)⒚恳环N數(shù)的出現(xiàn)次數(shù)記錄在sum數(shù)組中,如果出現(xiàn)次數(shù)大于2就刪除后面出現(xiàn)的重復(fù)數(shù)。

/**
 * @param {number[]} nums 已知數(shù)組
 * @return {number}
 */
     var removeDuplicates = function(nums) {
     var i , j, n;
     var sum = [];
     var len = nums.length;
     for(i=0;i<len;i++)
         sum[i] = 1;
     for(i=0,j=0;i<len;i++)
     {
         if(nums[i] == nums[i+1])
             sum[j] = Number(sum[j])+1;
         else j++;
     }
     for(i=0,n=0;i<nums.length;i++)
     {
         j = sum[n++];
         if(j>2)
         {
             nums.splice(i+2,j-2);
             i++;
         }
         else if(j==2)
             i++;
     }
     return nums.length;
   };
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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