class Solution {
public:
int removeDuplicates(int A[], int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(n==0||n==1||n==2)//n<=2的情况
return n;
int loc=0;//计数新数组中的元素
int loc1=0;
while(loc1+2<=n-1)
{
if(A[loc1]==A[loc1+2])//因为A[]是有序的,所以不用比较A[loc1+1]
loc1++;
else
A[loc++]=A[loc1++];
}
if(loc1<=n-1)//处理A[]末尾处的两个
A[loc++]=A[loc1++];
if(loc1<=n-1)
A[loc++]=A[loc1++];
return loc;
}
};
【leetcode】Remove Duplicates from Sorted Array II
最新推荐文章于 2020-02-08 17:36:31 发布
本文提供了一种C++实现的方法来移除有序整型数组中的重复元素,仅保留每个元素出现两次的情况,并返回处理后的数组长度。通过遍历数组并检查当前元素与后续元素的关系来实现这一目标。

247

被折叠的 条评论
为什么被折叠?



