码迷,mamicode.com
首页 > 其他好文 > 详细

【leetcode】Remove Duplicates from Sorted Array II

时间:2015-01-04 22:56:14      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:

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].

 
 
用两个指针,记录当前元素的上一个和上上个
每当发现相同时,count++,同时A[i-count]=A[i]
 
 1 class Solution {
 2 public:
 3     int removeDuplicates(int A[], int n) {
 4        
 5         int p1=0;
 6         int p2=1;
 7         if(n<=2) return n;
 8        
 9         int count=0;
10         for(int i=2;i<n;i++)
11         {
12             if(A[p1]==A[p2]&&A[p2]==A[i])
13             {
14                 count++;
15                 continue;
16             }
17             else
18             {
19                 A[i-count]=A[i];
20             }
21             p1++;
22             p2++;
23         }
24         return n-count;
25     }
26 };

 

【leetcode】Remove Duplicates from Sorted Array II

标签:

原文地址:http://www.cnblogs.com/reachteam/p/4202293.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!