题目:给定一个包含0, 1, 2, …, n中n个数的序列,找出0 … n中没有出现在序列中的那个数。
int missingNumber(int* nums, int numsSize){
int i,j,t,i1;
for(i=0;i<numsSize;i++)
{
for(j=i+1;j<numsSize;j++)
{
if(nums[i]>nums[j])
{
t=nums[i];
nums[i]=nums[j];
nums[j]=t;
}
}
}
for(i1=0;i1<numsSize;i1++)
{
if(i1!=nums[i1])
{
break;
}
}
return i1;
}
用了选择排序先给数组排序,再暴力循环查找缺失,很遗憾,超时了,可能使用了双重循环的原因,看了题解好像可以用位运算和哈希表解,之前没有接触过,之后再做了解。