不借助第三方内存,O(1)时间复杂度
using namespace std;
int DelDupNums(int *arr, int len)
{
if(len == 0) return 0;
int i = 0;
for(int j=1; j < len; ++j)
{
if(arr[j] != arr[i])
{
i++;
arr[i] = arr[j];
}
}
return i+1;
}
int main()
{
int arr[] = {0,0,1,1,2,3,4,4};
int len = DelDupNums(arr, 8);
for(int i=0; i <len; ++i)
{
printf("%d ", arr[i]);
}
return 0;
}