力扣 268. 丢失的数字
显然如果不考虑时间和空间的限制是很简单的 在时间O(n) 空间 O(1) 下可以使用位运算 异或运算具有一个特点:结合性。因此他的计算结果不受计算顺序的影响,而一个数和它本身做异或运算得0,而一个数和0做异或运算得它本身。所以我们只要把数组中所有得数一起做异或运算,同时也和 [1,n] 做异或。这样的话,只有缺失的那个数没有对应的数和他异或得0,其余的数都有相匹配的数异或得0
自己的(0ms)
class Solution {
public int missingNumber(int[] nums) {
int ans = 0;
for(int i = 0; i < nums.length; i++){
ans ^= nums[i];
ans ^= i;
}
return ans ^ num
力扣 268. 丢失的数字最先出现在Python成神之路。
共有 0 条评论