Python编程题22--只出现一次的数字
2021/10/27 22:39:55
本文主要是介绍Python编程题22--只出现一次的数字,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目
给定一个非空整数列表,除了某个元素只出现一次以外,其余每个元素均出现两次。在不使用编程语言的内置函数前提下,请找出那个只出现了一次的元素。
例如:
给定一个列表:[4, 1, 2, 1, 2],返回结果:4
给定一个列表:[2, 2, 1],返回结果:1
实现思路
- 通过
位运算
来实现,设置一个返回值res,默认值为0 - 遍历列表元素,每次均与res进行异或运算
- 列表中只有1个元素出现一次,其余元素均出现两次,相同元素异或的结果为0,所以最终的结果res就是这个只出现一次的元素
在二进制的异或运算中,例如a=12,b=7,那么a异或b的结果c计算如下:
a = 0 0 0 0 1 1 0 0
b = 0 0 0 0 0 1 1 1
c = 0 0 0 0 1 0 1 1 (相同位的值为0,不同为1)所以我们可以看出:0异或任一个数a,其结果为 a;任一数a异或自己,也就是 a异或a,其结果为 0
代码实现
def singleNumber(nums): res = 0 for num in nums: res = res ^ num return res
这篇关于Python编程题22--只出现一次的数字的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-30Python中''') 是什么?-icode9专业技术文章分享
- 2024-11-26Python基础编程
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程