美文网首页
[数组]80. Remove Duplicates from S

[数组]80. Remove Duplicates from S

作者: Reflection_ | 来源:发表于2018-06-11 01:22 被阅读0次

    80. Remove Duplicates from Sorted Array II

    紧接着26题,同样是移除重复的元素,但是可以允许最多两次重复元素存在。
    仍然是27题的思路,但是需要一个计数器来记录重复的次数,如果重复次数大于等于2,按照27题的方式处理,如果不是重复元素,将计数器清零。

    在nums新的长度以后留下的数字并没有关系。 比如长度为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;
            
        }
    }
    

    相关文章

      网友评论

          本文标题:[数组]80. Remove Duplicates from S

          本文链接:https://www.haomeiwen.com/subject/qtcceftx.html