Loading

268. 缺失数字

题目

 

代码

class Solution {
public:
    int missingNumber(vector<int>& nums) {
         int result = nums.size();
        
        for(int i=0;i<nums.size();i++){
            result ^= nums[i]^i;
            
            
        }
        
        return result;
    }
};

 

思路

官方的解法,翻译过来大概的思路就是:由于相同的数字和自己异或为0,0和任意数异或都为其本身。

 

在一个给定的[0 - n-1]范围的数组中,将 下标i和数组中最大值n与数组中每一个数字进行异或,最后结果肯定为没有出现的那个数字。不理解的可以自己举个例子去试试。

posted @ 2018-09-17 18:51  李正浩  阅读(90)  评论(0编辑  收藏  举报