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与数组中每一个数字进行异或,最后结果肯定为没有出现的那个数字。不理解的可以自己举个例子去试试。
https://github.com/li-zheng-hao