首页 > 代码库 > 【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]
.
用两个指针,记录当前元素的上一个和上上个
每当发现相同时,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 else18 {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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。