单号I

DDD
DDD原创
2024-09-19 06:17:33547浏览

Single Number I

问题

我们必须找到只出现过一次的数字。
暴力方法是使用 HashMap 跟踪值的计数,然后返回 count =1 的值;

使用位操作的最佳方法:

我们知道对于所有其他组合,1^0 = 1、0 ^1 = 1、0 ^ 0 = 0、1 ^ 1= 0。
这意味着对于相同的值,异或给出 0,因此如果我们异或数组中的所有值,它将只给出计数为 1 的数字(因为其余值将变成 0)

TC:O(n)
SC:O(1)

class Solution {
    public int singleNumber(int[] nums) {
        int single = nums[0];
        for(int i =1;i<nums.length;i++){
            single = single^nums[i];
        }
        return single;
    }
}

以上是单号I的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn