首页 > 代码库 > [leetcode]Remove Duplicates from Sorted Array II

[leetcode]Remove Duplicates from Sorted Array II

Remove Duplicates from Sorted Array II

Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?

For example,
Given sorted array A = [1,1,1,2,2,3],

Your function should return length = 5, and A is now [1,1,2,2,3].

算法思路:

跟[leetcode]Remove Duplicates from Sorted Array没太大区别,做一个标记即可。

代码:

 1 public class Solution { 2     public int removeDuplicates(int[] A) { 3             if(A == null || A.length == 0) return 0; 4             int index = 1; 5             boolean twice = false; 6             for(int i = 1; i < A.length; i++){ 7                 if(A[i] == A[i - 1] ){ 8                     if(!twice){ 9                         twice = true;10                         A[index++] = A[i];11                     }12                 }else{13                     twice = false;14                     A[index++] = A[i];15                 }16             }17             return index;18         }19 }