当前位置:   article > 正文

力扣leetcode 面试题消失的数字题解_力扣 消失的数字

力扣 消失的数字

 问:数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。在O(n)时间内完成。

使用位操作符 ^ 来解决此问题

每一位都进行异或相同为0不同为1

 

一个数异或同一个数两次,结果还是那个数。 

题解思路:用x=0先与0到n个数进行异或然后在与数组nums里的数进行异或最后得出缺失的整数。

  1. int missingNumber(int* nums, int numsSize)
  2. {
  3. int x=0;
  4. int i=0;
  5. for(i=0;i<numsSize;i++)
  6. {
  7. x^=i;
  8. }
  9. for(i=0;i<numsSize;i++)
  10. {
  11. x^nums[i];
  12. }
  13. return x;
  14. }

以上为leetcode消失的数字的题解。

欢迎大家评论留言,点赞支持和指正,感谢老铁看到这里。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/117673
推荐阅读
相关标签
  

闽ICP备14008679号