给定一个已排序的数组,使用就地算法将重复的数字移除,使数组中的每个元素只出现一次,返回新数组的长度。

不能为数组分配额外的空间,你必须使用常数级空间复杂度的就地算法。

例如,

给定输入数组A=[1,1,2],

你给出的函数应该返回length=2,A数组现在是[1,2]。

解析:

count记录不重复元素的个数

int removeDuplicates(int A[], int n) {

if(A==NULL||n<=1)

return n;

int count=1;

for(int i=1;i<n;i++){

if(A[i]!=A[i-1]){

A[count++]=A[i];

}

}

return count;

}

12-08 07:51