int* findDisappearedNumbers(int* nums, int numsSize, int* returnSize)
{
for(int i=0; i<numsSize; i++)
{
int index = (nums[i]-1)%numsSize;
nums[index] += numsSize;
}
*returnSize = 0;
int *ret = malloc(sizeof(int)*numsSize);
for (int i = 0; i < numsSize; ++i)
{
if(nums[i] <= numsSize)
{
ret[(*returnSize)++] = i+1;
}
}
return ret;
}
思路总结:想办法标记出现过的数。