题解 | #缺失数字#
缺失数字
http://www.nowcoder.com/practice/9ce534c8132b4e189fd3130519420cde
由于异或运算满***换律和结合律,所以总是能把成对儿的数字消去,留下缺失的那个元素的。
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 找缺失数字
* @param a int整型vector 给定的数字串
* @return int整型
*/
int solve(vector<int>& a) {
// write code here
if(!a.size()) return 0;
int n = a.size();
int res = 0;
// 先和新补的索引异或一下
res^= n;
// 和其他的元素、索引做异或
for(int i = 0;i<n;i++){
res^= i^a[i];
}
return res;
}
};算法解析 文章被收录于专栏
这里主要是算法岗的自我思路总结

