Python 查找数组中只出现一次的两个元素
下面是使用 Python 编写的寻找数组中只出现一次的两个元素的代码:
def singleNumber(nums):
# 将所有元素进行异或操作,得到的结果为两个只出现一次的元素的异或结果
xor_result = 0
for num in nums:
xor_result ^= num
# 找到异或结果中最低位为1的位置,用于区分两个只出现一次的元素
mask = 1
while xor_result & mask == 0:
mask <<= 1
# 将数组分为两组,分别与mask进行异或操作
a, b = 0, 0
for num in nums:
if num & mask:
a ^= num
else:
b ^= num
return a, b
# 获取输入
nums = list(map(int, input('请输入整数数组元素,以空格分隔:').split()))
# 调用函数并输出结果
result = singleNumber(nums)
print('只出现一次的两个元素为:', result)
请在运行程序时按照提示输入整数数组的元素,以空格分隔。程序将找到数组中只出现一次的两个元素,并按任意顺序输出结果。
原文地址: https://www.cveoy.top/t/topic/cwX6 著作权归作者所有。请勿转载和采集!