题目
分析
统计删除重复后数组的长度比较简单,复杂的是如何很有效率的得到新数组。
统计每个数字重复的个数,再将后面的数组整体向前移动几位也可以,不过可能太费时了。
我采用的办法就是将重复的数字重新赋予一个很大的值,最后进行一个排序,那些没用的重复数据就到最后去了。
题解
class Solution {
public:
int removeDuplicates(int A[], int n) {
int temp=A[0];
int count=0;
for(int i=1;i<n;i++)
{
if(A[i]==temp)
{
A[i]=65536;
count++;
}
else
temp=A[i];
}
sort(A,A+n);
return n-count;
}
};