- 数组nums包含0到n的所有的数字,但其中缺了一个。请编写代码找出那个缺失的数字,时间复杂度不超过O(n).
实例1:输入:[3,0,1] 输出:2
示例2:
输入:[9,6,4,2,3,5,7,0,1] 输出:8
-
思路:
异或,相同为0,相异为1,所以构造一个数组,包含所有数字,然后异或 -
代码:
int missingNumber(int* nums,int numsSize) { int x=0; for(size_t i=0;i<numsSize;++i) { x^=nums[i]; } for(size_t i=0;i<=numsSize;++i) x^=i; return x; }
c语言---消失的数字
最新推荐文章于 2023-10-21 23:30:53 发布