题目:
解答:
方法有排序、哈希、数学求和等,这里采用位运算。
由于异或运算(XOR)满足结合律,并且对一个数进行两次完全相同的异或运算会得到原来的数,因此我们可以通过异或运算找到缺失的数字。
1 class Solution { 2 public: 3 int missingNumber(vector<int>& nums) 4 { 5 int missing = nums.size(); 6 for (int i = 0; i < nums.size(); i++) 7 { 8 missing ^= i ^ nums[i]; 9 } 10 return missing; 11 } 12 };
原文:https://www.cnblogs.com/ocpc/p/12827198.html