leetcode上有这么一道题:【136. Single Number】

这个题是给出一个非空列表,里面的元素只有一个只出现了一次,其余都出现了两次,找出这个只出现了一次的元素。

这个题目很简单,写了一下直接提交:

from collections import Counter

class Solution:

def singleNumber(self, nums: List[int]) -> int:

counter = Counter(nums)

for i in counter:

if counter[i] == 1:

return i

翻了一下讨论,发现了一个很简单快速的方法:

class Solution:

def singleNumber(self, nums: List[int]) -> int:

return reduce(lambda x, y: x ^ y, nums)

查了一下异或运算,发现找到唯一值是异或运算在python中的主要用途之一。其原理是这样的:

a = 10

b = 76

print(a ^ b)

输出:70

当a,b都转换为二进制:

bin(a)

bin(b)

输出:0b1010与0b1001100

异或运算是将两个数相同位置(长度不一时要对齐)的数值,不同为1时,结果为1,否则为0 。比如:(0101) ^ (0011) = 0110。

这里a ^ b = 0b1000110,即70。

当两个数相同时,异或运算结果为0.

python中异或怎么算_python中的异或运算相关推荐

  1. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  2. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

  3. python中异或怎么算_python 异或运算的前提_异或运算公式

    Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...

  4. python中 r是什么意思_python中rb含义理解

    Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 文件使用方式标识 'r':默认值,表示从文件读取数据 'w':表示要向文件写入数据,并截断以前 ...

  5. python字典是什么的集合_Python中的字典和集合

    文章目录字典1.介绍 2.创建字典 3.字典内元素的访问 4.字典元素的添加.修改.删除 5.关于字典的其它操作 6.字典存储底层原理 集合1.介绍 2.相关操作 3.集合元素的添加 4.移除元素 字 ...

  6. python中的文件怎么处理_python 中有关文件处理

    Python的文件处理 打开文件f = open ("path","mode") r 模式 以读的方式打开,定位到文件开头 , 默认的 mode.文件不存在直接 ...

  7. python怎么宏定义符号变量_python中定义宏

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 什么是宏? 宏类似python中的函数,可以传参数进去,但不能有返回值! 在实际 ...

  8. python post与get的区别_python中get和post有什么区别

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...

  9. python深复制与浅复制_Python中的深拷贝和浅拷贝详解

    要说清楚Python中的深浅拷贝,需要搞清楚下面一系列概念: 变量-引用-对象(可变对象,不可变对象)-切片-拷贝(浅拷贝,深拷贝) [变量-对象-引用] 在Python中一切都是对象,比如说:3, ...

最新文章

  1. 重装windows2003遇到的老问题:0X0000007B和显卡驱动安装不上。
  2. 网站过度优化该怎样解决?
  3. 图解WindowsXP修改MAC地址
  4. mysql 导入mongodb_mysql数据库迁移导入到mongodb详细教程
  5. [转] Windows Server 2012 Beta Cluster (Hyper-V 3.0)-iSCSI篇
  6. django orm_Django ORM简介
  7. 初入c++(六)虚函数实现多态,虚析构函数,虚函数表和多态实现机制,纯虚函数。
  8. python接口自动化(二十三)--unittest断言——上(详解)
  9. 最基本的01背包问题
  10. ThreadPool执行异步操作
  11. 《Lua游戏开发实践指南》一3.2游戏项目中的Lua
  12. 【CODEVS1191】数轴染色
  13. 阿里云飞天洛神:高性能网络软硬件一体化技术实践 | 凌云时刻
  14. 对应的ctrl_定位神技Ctrl+G,12种常用操作技巧,你都知道吗
  15. 公钥 私钥_比特币私钥、公钥、钱包地址之间的关系
  16. 美图秀秀计算机教程,美图秀秀批处理软件详细图文版使用教程,一起学习吧
  17. 在Mac上安装SoapUI
  18. OPENCV2.4.7+VS2010+海康威视摄像头
  19. 关于获取3DS MAX中的蒙皮数据 3DSMAX C++API的应用
  20. 性能优化,进无止境---CPU篇

热门文章

  1. clion环境搭建c++_mingw64_clion中使用python,ros-qt
  2. Android运行时权限,设置帮助类BaseActivity;电话权限,短信权限,
  3. activiti启动流程实例
  4. java http服务_springboot官方例子中文翻译--RESTful服务启用CORS支持
  5. JavaWeb编程中如果jar包存在但显示无法输出,就在IDEA的项目发布中添加lib依赖!
  6. linux计划任务一小时,linux,计划任务,每小时执行一次(共7篇).docx
  7. Spark Master资源调度--worker向master注册
  8. 8月7日科技联播:人民日报发推欢迎Google回归,李彦宏回应非常有信心再赢一次...
  9. C++编程中const和#define的区别
  10. sed个人习惯用法总结