排序数组的duplicates都是相邻的。原地重写法:i代表“新数组”下一个要写的位置,j用来遍历“旧数组”,A[j]符合条件写入i的位置,否则跳过。
int removeDup(int A[], int n)
{
int i=0;
for(j=0;j<n;j++)
{
if(j==0 || A[j]!=A[i-1])
{
A[i]=A[j];
i++;
}
}
return i;
}
本文介绍了一种去除排序数组中重复元素的方法,使用原地重写法实现,通过双指针技巧,仅需一次遍历完成操作。
排序数组的duplicates都是相邻的。原地重写法:i代表“新数组”下一个要写的位置,j用来遍历“旧数组”,A[j]符合条件写入i的位置,否则跳过。
int removeDup(int A[], int n)
{
int i=0;
for(j=0;j<n;j++)
{
if(j==0 || A[j]!=A[i-1])
{
A[i]=A[j];
i++;
}
}
return i;
}
被折叠的 条评论
为什么被折叠?