【数组】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 1122 and 3. It doesn't matter what you leave beyond the new length.

思路:

从数组的第三个元素开始遍历,若遇到与A[i-2]相同,则删除A[i]

/**
 * @param {number[]} nums
 * @return {number}
 */
var removeDuplicates = function(nums) {
    var pre=0,next=2;
    if(nums.length<=2){
        return nums.length;
    }
    
    for(var i=2;i<nums.length;){
        if(nums[pre]==nums[i]){
            nums.splice(i,1);
        }else{
            pre++;
            i++;
        }
    }
};

 

posted @ 2016-01-07 22:01  很好玩  阅读(130)  评论(0编辑  收藏  举报