LeetCode--Single Number(单独数字)Python
来源:互联网 发布:pscc2017 mac版本下载 编辑:程序博客网 时间:2024/05/18 00:29
题目:
给定一个数组,这个数组所有的数字都是成对出现的,只有一个数字是单独的,要求找出这个单独的数字。
解题思路:
考虑用字典,遍历数组,将数组内容作为key存入字典,之后每一次存入字典前判断该数字是否存在于字典中,若存在,则弹出,否则存入。经过这个循环,只有单独的那个数字有存入没有弹出,故Dict中剩余的数字则是那个单独数字。此方法会用到多余的空间。字典中存储的内容都是多出的空间。
另外一个思路是看了Discuss,发现可以用异或操作。因为相同两个数字异或结果为0
代码1(Python,字典):
class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ Dict = {} for i in range(len(nums)): if nums[i] in Dict: Dict.pop(nums[i]) else: Dict[nums[i]]=1 return Dict.keys()[0]
代码2(Python,异或):
class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ output = 0 for i in range(len(nums)): output = output^nums[i] return output
阅读全文
0 0
- LeetCode--Single Number(单独数字)Python
- 找到单独的数字 Single Number
- LeetCode 136. Single Number(单个数字)
- LeetCode 找出 单独的数 Single Number
- Leetcode刷题记——136. Single Number(单独的数字)
- [Leetcode][python]Single Number/Single Number II
- leetcode:Single Number单个数字
- 【LeetCode with Python】 Single Number
- 【LeetCode-Python】136. Single Number
- LeetCode | Single Number(数组中的单个数字)
- LeetCode | Single Number II(单个数字II)
- LeetCode OJ 之 Single Number (唯一的数字)
- LeetCode 136 Single Number(只出现一次的数字)
- LeetCode 137. Single Number II(单个数字)
- LeetCode 136 — Single Number(C++ Java Python)
- LeetCode Single Number III (Java和Python代码)
- LeetCode--Largest Number(最大数字)Python
- LeetCode(136) Single Number
- 【人脸会场签到】零开发就能实现刷脸签到|人脸签到|人脸识别
- Action类的扩展
- 为什么说不真实的产品测试是无效的
- 进程间通信方式二十问(一)
- 关于typedef的用法总结
- LeetCode--Single Number(单独数字)Python
- 【Java基础总结】-零碎注意点
- 遇到问题,勿慌,一步步解决问题!
- 唯快不破:linux网络编程--深入浅出send和recv
- 5个技巧打造令人印象深刻的LOGO
- centos7 虚拟机联网
- js回调方法 js递归时使用方法
- 01-常用对象API(集合框架-泛型-概述) 1 2 02-常用对象API(集合框架-泛型-擦除&补偿) 03-常用对象API(集合框架-泛型-在集合中的应用)
- 14. 面向对象