LeetCode 260. Single Number III Python Solution
来源:互联网 发布:域名实名认证查询 编辑:程序博客网 时间:2024/05/21 11:29
此题目对应于 LeetCode 260
题目要求:
Given an array of numbers nums
, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.
For example:
Given nums = [1, 2, 1, 3, 2, 5]
, return [3, 5]
.
Note:
- The order of the result is not important. So in the above example,
[5, 3]
is also correct. - Your algorithm should run in linear runtime complexity. Could you implement it using only constant space complexity
给一个数组,其中每个元素都出现了两次除了两个元素,那两个元素只出现一次,要求找出那两个个元素。要求时间O(n),空间最好O(1)。
这里提供一个时间O(n),空间O(n)的解法。
这个是 LeetCode 136. Single Number问题的深化版,在解这个问题的时候需要用到我之前两个文章的知识,LeetCode 136. Single Number
和 Python Lowbit 。
解法思路就是把原拆分成2个数组,每一个数组包含一个只出现一次的元素,在调用LeetCode 136. Single Number的解法。
那怎么进行拆分呢?
1.将数组元素从头得到一个值。
2.根据这个值对应2进制从右边起第一个1,将原数组分拆成2份。
由于存在2个只出现一次的数,那么异或结果肯定非0,既一定能找到这样的一个1。根据对应位是否为1即可以将原数组分拆
成2份。由于或为1则表示,这2个数字对应2进制在该位上数值不一样即一个为0,一个为1。
下面附上Python代码。
class Solution(object): def presingle(self,nums): tmp = 0 for i in nums: tmp^=i return tmp def singleNumber(self, nums): tmp = self.presingle(nums) tag = 0 tmp &= -tmp num1 = [] num2 = [] for i in nums: if i&tmp==tmp: num1.append(i) else: num2.append(i) return [self.presingle(num1),self.presingle(num2)]
阅读全文
0 0
- LeetCode 260. Single Number III Python Solution
- [leetcode] 260.Single Number III
- Leetcode 260. Single Number III
- 260. Single Number III LeetCode
- [LeetCode]260. Single Number III
- LeetCode 260. Single Number III
- LeetCode 260. Single Number III
- LeetCode 260. Single Number III
- LeetCode *** 260. Single Number III
- leetcode-260. Single Number III
- 【leetcode】 260. Single Number III
- leetcode 260.Single Number III
- leetcode 260. Single Number III
- 【LeetCode】260. Single Number III
- Leetcode 260. Single Number III
- LeetCode - 260. Single Number III
- 【leetcode】260. Single Number III
- leetcode 260. Single Number III
- 匿名内部类实现Comparator接口,没有重写所有方法,为何不报错
- 【codevs 2806】红与黑
- 第一篇不得不写的博客
- 疯牛
- web_custom_request请求关联session的问题(一)
- LeetCode 260. Single Number III Python Solution
- pip install MySQL-python 报 "EnvironmentError: mysql_config not found"
- iOS下JS与OC互相调用
- postgresql修改表
- 新建Android项目
- 关于Socket编程中的inet_ntop、inet_pton和inet_ntoa、inet_addr
- 新一代开源Android渠道包生成工具Walle
- CentOS下安装JDK、NEXUS、TOMCAT、RABBITMQ集群
- 朴素贝叶斯方法进行文本分类