#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param array int整型一维数组
# @return int整型一维数组
#
class Solution:
def FindNumsAppearOnce(self , array: List[int]) -> List[int]:
# write code here
# 遍历数组得到a^b
temp = 0
for i in range(len(array)):
temp ^= array[i]
# 找到两个数不相同的第一位
k = 1
while ((k & temp) == 0):
k <<= 1
res = [0, 0]
for i in range(len(array)):
# 遍历数组,对每个数分类
if((k & array[i]) == 0):
res[0] ^= array[i]
else:
res[1] ^= array[i]
#整理次序
res.sort()
return res
剑指offer-python JZ56 数组中只出现一次的两个数字
最新推荐文章于 2024-08-21 10:11:50 发布