【LEETCODE】136-Single Number
来源:互联网 发布:怎样ping端口号 编辑:程序博客网 时间:2024/04/30 03:12
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?
题意:
给一个整数数组,除了一个以外,其余元素都出现两次,找到这一个元素
注意:
算法的时间复杂度应该是线性的,能想到不用额外的空间的方法么
思路:
1.建立dict,数每个元素出现的次数,返回次数为1的元素
2.位操作:
参考:http://www.cnblogs.com/zuoyuan/p/3719584.html
异或操作具有这两个特点,x ^ 0 = x,x ^ x = 0,并且与先后顺序无关,
所以出现两次的都会变成0,0再和出现一次的异或,剩下它自己
方法1:
class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ A={} #for i in range(len(nums)): # if nums[i] not in A: # A[nums[i]]=1 # else: # A[nums[i]]=2 for i in nums: if i not in A: A[i]=1 else: A[i]=2 for j in A: if A[j]==1: return j
方法2:
class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ ans=nums[0] for i in range(1,len(nums)): ans=ans^nums[i] return ans
0 0
- LeetCode(136)Single Number
- LeetCode 136 Single Number
- LeetCode 136 Single Number
- LeetCode: Single Number [136]
- [leetcode 136] Single Number
- [leetcode]136 Single Number
- leetcode-136 Single Number
- LeetCode 136 Single Number
- LeetCode 136 Single Number
- leetcode || 136、Single Number
- LeetCode 136 : Single Number
- leetcode Single Number 136
- LeetCode---(136) Single Number
- leetcode#136 Single Number
- Leetcode[136]-Single Number
- leetcode-136-Single Number
- Leetcode 136 Single Number
- leetcode[136]:Single Number
- sublime配置
- 存储过程 ,游标
- 任玉刚【Android开发艺术探索】读后笔记二
- Android listView 头部添加透明titleBar
- 内存溢出之Tomcat内存配置
- 【LEETCODE】136-Single Number
- UICollectioView的组头和组尾的高度不同设置
- HTML之绝对定位Absolute
- mysql事务锁等待时间
- 深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
- 打造多维立体防毒体系 瑞星护航上海航天全面实现“外防内杀”
- (2)java学习前的准备
- linux iio子系统
- eclipse ant 编译 中文乱码问题