1.找出丢失数字,也就是在数组内出现过的数字
最开始字节进行借助 list或者map操作 ,两边数组循环找出未出现的数字,显然时间运行复杂度高
异或的操作明显更好
异或为 只有一个为真的时候结果才为真;相同为0,相异为真
例如:
a^a = 0
所以就能够想到使用异或进行处理
class Solution {
public int missingNumber(int[] nums) {
int res = nums.length;
for (int i = 0; i < nums.length; ++i){
//进行异或操作
res ^= nums[i];
res ^= i;
}
return res;
}
}