首页 > 代码库 > LeetCode:Remove Duplicates from Sorted Array II
LeetCode: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记录重复多余两次的元素出现的次数,将每个元素向前移动count个单位。
代码:
int Solution::removeDuplicates(int A[], int n) { int count = 0; bool first = true; for(int i = 0;i < n;i++) { if(i != 0) { if(A[i] == A[i-1] && first) { first = false; A[i-count] = A[i]; continue; } else if(A[i] == A[i-1] && !first) { count++; A[i-count] = A[i]; continue; } else { first = true; A[i-count] = A[i]; continue; } } } return n - count; }
LeetCode:Remove Duplicates from Sorted Array II
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。