一道水题不多说,贴上Accept的代码:
void quicksort(int s[], int l, int r)
{
int i, j, x;
if (l < r)
{
i = l;
j = r;
x = s[i];
while (i < j)
{
while(i < j && s[j] > x) j--;
if(i < j) s[i++] = s[j];
while(i < j && s[i] < x) i++;
if(i < j) s[j--] = s[i];
}
s[i] = x;
quicksort(s, l, i-1); /* 递归调用 */
quicksort(s, i+1, r);
}
}
int missingNumber(int* nums, int numsSize)
{
if(numsSize==1)
{
if(nums[0]==1) return 0;
}
quicksort(nums,0,numsSize-1);
if(nums[0]!=0) return 0;
for(int i=0;i<numsSize;i++)
{
if(nums[i]==nums[i+1]-2)
return nums[i]+1;
}
}