LeetCode Missing Number
题目
Given an array containing n distinct numbers taken from 0, 1, 2, …,
n, find the one that is missing from the array.For example, Given nums = [0, 1, 3] return 2.
Note: Your algorithm should run in linear runtime complexity. Could
you implement it using only constant extra space complexity?Credits: Special thanks to @jianchao.li.fighter for adding this
problem and creating all test cases.
代码
class Solution {
public:
int missingNumber(vector<int> & nums) {
int XOR = 0;
XOR ^= nums.size();
for (int i = nums.size() - 1; i >= 0; i--) {
XOR ^= nums[i]; // XOR ^ nums[0, 1, 2, ... n - 1]
XOR ^= i; // XOR ^ 0, 1, 2, ... n
}
return XOR;
}
};