一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
数据范围:数组长度 ,数组中每个数的大小
要求:空间复杂度 ,时间复杂度
要求:空间复杂度 ,时间复杂度
提示:输出时按非降序排列。
class Solution: def FindNumsAppearOnce(self , nums: List[int]) -> List[int]: # write code here result = dict() for num in nums: if num in result: result.pop(num) else: result[num] = 1 return sorted(result.keys())
class Solution: def FindNumsAppearOnce(self , nums: List[int]) -> List[int]: r = 0 for i in nums: r ^= i r2 = r&-r a,b = 0,0 for i in nums: if r2 & i: a ^= i else: b ^= i return [a,b] if a <= b else [b,a]不必非找第一个1,找出不同即可