136. Single Number [medium] (Python)
来源:互联网 发布:vps搭建虚拟专用网络 编辑:程序博客网 时间:2024/05/19 02:41
题目链接
https://leetcode.com/problems/single-number/
题目原文
Given an array of integers, every element appears twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
思路方法
目的是寻找数组中单独出现的某个元素,如果题目没有限制条件很容易想到利用dict来做。然而既然要求O(n)的时间复杂度和O(1)的空间复杂度,那么就要想办法将成对出现的数“消掉”,目前能想到的就是利用“异或”操作实现。
思路一
将所有的数进行异或操作,由于题目说了只有一个单独出现的数,那么最终结果即为所求。
代码
class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ res = 0 for i in nums: res ^= i return res
思路二
精简代码。。。
代码
class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ return reduce(lambda x, y: x^y, nums)
思路三
再精简代码。。。
代码
class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ return reduce(operator.xor, nums)
PS: 写错了或者写的不清楚请帮忙指出,谢谢!
转载请注明:http://blog.csdn.net/coder_orz/article/details/52064716
0 0
- 136. Single Number [medium] (Python)
- 136. Single Number Difficulty: Medium
- 260. Single Number III [medium] (Python)
- 136.LeetCode Single Number(medium)[数组 单数]
- Leetcode 136. Single Number (Medium) (cpp)
- [Medium]Single Number III
- [LeetCode] 136--Single Number --Medium--
- Medium 136题 Single Number
- Leet Code OJ 136. Single Number [Difficulty: Medium]
- 【LeetCode-Python】136. Single Number
- 136. Single Number [easy] [python]
- [Leetcode 136, Medium] Single Number I
- [Leetcode 137, Medium] Single Number II
- 【LeetCode】(137)Single Number II(Medium)
- 【LeetCode】(260)Single Number III(Medium)
- [LeetCode] 137--Single Number II --Medium--
- Leetcode 137. Single Number II (Medium) (cpp)
- 260. Single Number III 难度:medium
- redis使用内存方式
- Content Provider Basics
- 2016 上架流程
- 题目273 字母小游戏
- 关于device tree中的interrupts选项
- 136. Single Number [medium] (Python)
- spring-boot下热部署热启动方案测试汇总
- 盘点android中的dialog
- 【刷题之路】不使用四则运算做加法
- 欢迎使用CSDN-markdown编辑器
- 训练自己的数据
- AngularJS 服务
- SVN问题:previous operation has not finished;run 'cleanup' if it was interrupted
- 调用系统相机录像,压缩保存到相册(附仿微信视频录制demo)