【数组】268. 缺失数字

题目:

 

 

解答:

方法有排序、哈希、数学求和等,这里采用位运算。

由于异或运算(XOR)满足结合律,并且对一个数进行两次完全相同的异或运算会得到原来的数,因此我们可以通过异或运算找到缺失的数字。

 1 class Solution {
 2 public:
 3     int missingNumber(vector<int>& nums) {
 4         int res = 0;
 5         for(int i = 0;i<nums.size();i++){
 6             res^=(i+1)^nums[i];
 7         }
 8         
 9         return res; 
10     }
11 };

 

posted @ 2020-05-04 17:05  梦醒潇湘  阅读(175)  评论(0)    收藏  举报