题目:去除数组中重复的元素。并且返回元素的个数。
解答:假若数组没有排序,先排序。然后再用相关算法,算法有很多种,我这里写了个时间复杂度为O(n)的。
input:
A[]={1,2,2,3,4};
output:
4
1,2,3,4
代码如下:
int removeDub(int A[], int N){
int index = 1;
if(!N) {
return 0;
}
for(int i = 1; i < N; i++) {
if(A[i] != A[i - 1]) {
A[index] = A[i];
index++;
}
}
print_f(A,index); //print the array A element
return index;
}