80. Remove Duplicates from Sorted Array II
緊接著26題,同樣是移除重復(fù)的元素彩扔,但是可以允許最多兩次重復(fù)元素存在。
仍然是27題的思路莹妒,但是需要一個(gè)計(jì)數(shù)器來(lái)記錄重復(fù)的次數(shù)铛绰,如果重復(fù)次數(shù)大于等于2,按照27題的方式處理幔虏,如果不是重復(fù)元素纺念,將計(jì)數(shù)器清零。
在nums新的長(zhǎng)度以后留下的數(shù)字并沒(méi)有關(guān)系想括。 比如長(zhǎng)度為2陷谱,則nums[2]及以后的并不重要
JAVA 2ms
class Solution {
public int removeDuplicates(int[] nums) {
if(nums.length <= 2) return nums.length;
int limit = 1;
int count = 0;
for(int i = 1; i<nums.length; i++){
if(nums[i] == nums[count]){
if(limit < 2){ // duplicated, but no more than 2
nums[++count] = nums[i];
limit++;
}
continue;
}else{ // new element
limit = 1;
nums[++count] = nums[i];
continue;
}
}
return count+1;
}
}