- 
                Notifications
    
You must be signed in to change notification settings  - Fork 0
 
80. Remove Duplicates from Sorted Array II
        Jacky Zhang edited this page Sep 1, 2016 
        ·
        1 revision
      
    Follow up for "26. 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.
解题思路为使用一个指针i记录非duplicates值应该插入的位置。
public class Solution {
    public int removeDuplicates(int[] nums) {
        int i = 0;
        for(int n : nums) {
            if(i < 2 || n > nums[i-2]) {
                nums[i++] = n;
            }
        }
        return i;
    }
}