题目来源:

  https://leetcode.com/problems/single-number/


题意分析:

  给定一个数组,每个数都出现了2次,只有一个出现了一次,找出这个数。要求时间复杂度O(n),空间复杂度O(1)。


题目思路:

  这道题目利用位操作。位操作的异或(^),他的其中一个属性是,n^n = 0, 0^n = n。只要将所有的数都进行异或就得到出现一次的数。


代码(python):

class Solution(object):
def singleNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
ans = 0
for i in nums:
ans ^= i
return ans

[LeetCode]题解(python):136-Single Number的更多相关文章

  1. LeetCode 136. Single Number C++ 结题报告

    136. Single Number -- Easy 解答 相同的数,XOR 等于 0,所以,将所有的数字 XOR 就可以得到只出现一次的数 class Solution { public: int ...

  2. leetcode 136 Single Number, 260 Single Number III

    leetcode 136. Single Number Given an array of integers, every element appears twice except for one. ...

  3. LeetCode 136. Single Number(只出现一次的数字)

    LeetCode 136. Single Number(只出现一次的数字)

  4. leetcode 136. Single Number 、 137. Single Number II 、 260. Single Number III(剑指offer40 数组中只出现一次的数字)

    136. Single Number 除了一个数字,其他数字都出现了两遍. 用亦或解决,亦或的特点:1.相同的数结果为0,不同的数结果为1 2.与自己亦或为0,与0亦或为原来的数 class Solu ...

  5. 136. Single Number - LeetCode

    Question 136. Single Number Solution 思路:构造一个map,遍历数组记录每个数出现的次数,再遍历map,取出出现次数为1的num public int single ...

  6. LeetCode(137) Single Number II

    题目 Given an array of integers, every element appears three times except for one. Find that single on ...

  7. 【LeetCode】136. Single Number 解题报告(Java & Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 异或 字典 日期 [LeetCode] 题目地址:h ...

  8. [LeetCode] 136. Single Number 单独数

    Given a non-empty array of integers, every element appears twice except for one. Find that single on ...

  9. LeetCode 136 Single Number(仅仅出现一次的数字)

    翻译 给定一个整型数组,除了某个元素外其余元素均出现两次. 找出这个仅仅出现一次的元素. 备注: 你的算法应该是一个线性时间复杂度. 你能够不用额外空间来实现它吗? 原文 Given an array ...

  10. 【LeetCode】136. Single Number (4 solutions)

    Single Number Given an array of integers, every element appears twice except for one. Find that sing ...

随机推荐

  1. Qt 圆角矩形+鼠标左键拖动窗口

    #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { class MainWind ...

  2. Android 监听器

    Android提供很多种事件监听器,监听器主要是为了相应某个动作,可以通过监控这种动作行为,来完成我们需要的程序功能.      OnItemClickListener:               ...

  3. Storm的数据可靠性(理论)

    Storm的数据可靠性(理论) .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB& ...

  4. centos之jdk安装

    1.环境说明 系统:centos6.7, 2.6.32-573.el6.x86_64; jdk:jdk1.7.0_80 2.下载jdk并上传      下载jdk-7u80-linux-x64.tar ...

  5. Built-in Functions学习

    abs(x) :返回一个数字的绝对值,可以是整形也可以是浮点型. all(iterable):返回True,如果所以迭代对象的元素为true,或者可迭代对象为空. any(iterable):如果可迭 ...

  6. windbg命令学习1

    一.windbg 常用知识: 1. Windbg中的调试命令,分为三种:基本命令,元命令和扩展命令.基本命令和元命令是调试器自带的,元命令总是以“.”开头,而扩展命令是外部加入的,总是以感叹号“!”开 ...

  7. jquery判断移动设备代码片段;pc、iphone、安卓

    $(document).ready(function () { /* 判断设备*/ var browser={ versions:function(){ var u = navigator.userA ...

  8. collection系列用法-defaultdict()

    defaultdict() 定义以及作用 返回一个和dictionary类似的对象,和dict不同主要体现在2个方面: 可以指定key对应的value的类型. 不必为默认值担心,换句话说就是不必担心有 ...

  9. 【转】Ubuntu Linux 下文件名乱码(无效的编码)的快速解决办法

    原博文地址:http://www.cnblogs.com/york-hust/archive/2012/07/07/2580388.html 文件是在WIndows 下创建的,Windows 的文件名 ...

  10. React常用的命令解析

    1.在目录终端下输入命令: browserify index.js -o bundle.js 该命令将require的所有文件统一打包在一个bundle.js文件中. 2.解释React文件 $ js ...