2.消失的数组
面试题 17.04. 消失的数字 - 力扣(LeetCode)
数组nums
包含从0
到n
的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?
1.第一个循环就是将nums每个元素,在arr数组中大小为i就将元素放在第i+1位上即arr[i];
2.第二个循环从0开始与arr数组中拍好顺序的元素比较,看缺少了哪一个;
int missingNumber(int* nums, int numsSize)
{
int arr[10000]={numsSize};
int i=0;
int tmp=0;
//这个循环就是将nums每个元素,在arr数组中大小为i就将元素放在第i+1位上即arr[i]
for(i=0;i<numsSize;i++)
{
tmp=nums[i];//将nums数组中每一位数组元素单独赋值给tmp,单独提出来处理
arr[tmp]=tmp;//将数组元素tmp放在arr数组第tmp的位置上
}
//循环从;0开始与arr数组中拍好顺序的元素比较,看缺少了哪一个
for(i=0;i<numsSize;i++)
{
if(i!=arr[i])
{
return i;
}
}
return i;
}