题解:丢失的数字(位运算算法)
目录
- 1.题目
- 2.题解
- 3.位运算异或
- 4.总结
1.题目
题目链接:LINK
2.题解
- 哈希数组查漏
- 高斯求和
- 排序
- 位运算异或
- …
3.位运算异或
class Solution
{
public:int missingNumber(vector<int>& nums) {int ret = 0;for(auto x : nums) ret ^= x;for(int i = 0; i <= nums.size(); i++) ret ^= i;return ret;}
};
当然也可以这样写:
class Solution {
public:int missingNumber(vector<int>& nums) {int ret = 0;//异或上nuns的各位数字for(int i = 0; i < nums.size(); i++)ret^=i,ret^=nums[i];//注:还有个n没异或ret^=nums.size();return ret;}
};
4.总结
无
EOF