重点是
你的算法应该具有线性时间复杂度。
这类题用位运算,异或(相同为0,不同为1,满足交换律和结合律)
1 ^ 1 = 0
0 ^ 0 = 0
1 ^ 0 = 1
Class Solutions:
def singleNumber(self, nums: List[int]) -> int:
res = nums[0]
for i in range(len(nums)):
res ^= nums[i]
return res
get新知识
重点是
你的算法应该具有线性时间复杂度。
这类题用位运算,异或(相同为0,不同为1,满足交换律和结合律)
1 ^ 1 = 0
0 ^ 0 = 0
1 ^ 0 = 1
Class Solutions:
def singleNumber(self, nums: List[int]) -> int:
res = nums[0]
for i in range(len(nums)):
res ^= nums[i]
return res
get新知识