力扣leetcode 面试题消失的数字题解
Posted apple_52909052
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了力扣leetcode 面试题消失的数字题解相关的知识,希望对你有一定的参考价值。
问:数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。在O(n)时间内完成。
使用位操作符 ^ 来解决此问题
每一位都进行异或相同为0不同为1
一个数异或同一个数两次,结果还是那个数。
题解思路:用x=0先与0到n个数进行异或然后在与数组nums里的数进行异或最后得出缺失的整数。
int missingNumber(int* nums, int numsSize)
{
int x=0;
int i=0;
for(i=0;i<numsSize;i++)
{
x^=i;
}
for(i=0;i<numsSize;i++)
{
x^nums[i];
}
return x;
}
以上为leetcode消失的数字的题解。
欢迎大家评论留言,点赞支持和指正,感谢老铁看到这里。
以上是关于力扣leetcode 面试题消失的数字题解的主要内容,如果未能解决你的问题,请参考以下文章
力扣Leetcode 面试题56 - I. 数组中数字出现的次数
精选力扣500题 第23题 LeetCode 2. 两数相加c++详细题解
精选力扣500题 第32题 LeetCode 31. 下一个排列c++ / java 详细题解