问题
我们必须找到只出现过一次的数字。 使用暴力方法 hashmap 跟踪值的计数,然后返回 count =1 的值;
使用位操作的最佳方法:
我们知道,对于所有其他组合,1^0 = 1、0 ^1 = 1、0 ^ 0 = 0、1 ^ 1= 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 single="single^nums[i];" return></nums.length>
以上是单号I的详细内容,请关注图灵教育的其他相关文章!