[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 }

posted on 2014-07-21 23:55  喵星人与汪星人  阅读(241)  评论(0编辑  收藏  举报