Python LeetCode Singer Number

  • 题目说明
    • 算法1 数学方法
    • 算法2 异或运算

题目说明

给定一个列表,其中包含数对相同元素与一个单独元素,例如[2,2,1]、[1,3,5,5,1],要求输入列表后输出单独元素的值。

算法1 数学方法

基本思想如下:
2∗(a+b+c)−(a+a+b+b+c)=c
代码如下:

class Solution(object):def singleNumber(self, nums):''':type nums: List[int]:rtype: int'''return 2 * sum(set(nums)) - sum(nums)

算法2 异或运算

我们知道,相同的元素通过异或运算后得到的结果是0,0与任何元素异或得到的还是该元素,因此通过异或运算我们可以消除列表中重复出现偶数次的元素。
代码如下:

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

LeetCode Singer Number相关推荐

  1. LeetCode 191 Number of 1 Bits

    LeetCode 191 Number of 1 Bits 解法一(较为传统都解法):使用将n不断右移,并与1想&得到1的个数:(也有使用除法/2的,明显除法的运行效率要低于位移) 时间复杂度 ...

  2. LeetCode 200. Number of Islands--c++ dfs解法

    LeetCode 200. Number of Islands LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有题目总结 大部分题目C++,Pyt ...

  3. [勇者闯LeetCode] 191. Number of 1 Bits

    [勇者闯LeetCode] 191. Number of 1 Bits Description Write a function that takes an unsigned integer and ...

  4. LeetCode 673. Number of Longest Increasing Subsequence--O(N log N )--Java,C++,Python解法

    题目地址:Number of Longest Increasing Subsequence - LeetCode 做这道题目前建议先做:Longest Increasing Subsequence - ...

  5. [LeetCode]Single Number II

    今天室友推荐了一道LeetCode上面的练习题Single Number II,题目大概的意思是有一个整形的数组,里面只有一个数是出现一次的,其他的数都出现了三次,然后让把这个数找出来. 第一眼看到这 ...

  6. leetcode - Single Number

    今天开始刷leetcode上的题,争取校招前刷过一遍,从AC率最高的题目开始刷,不废话了,看题 题目:Single Number Given an array of integers, every e ...

  7. leetcode 476. Number Complement | 476. 数字的补数(位运算)

    题目 https://leetcode.com/problems/number-complement/ 题解 class Solution {public int findComplement(int ...

  8. leetcode majority number

    给定一组数,有一个数在这组数里的出现次数超过n/2次. 求出这是哪个数 https://leetcode.com/problems/majority-element/ 一开始考虑的方是将所有数转化为二 ...

  9. LeetCode Single Number I / II / III

    [1]LeetCode 136 Single Number 题意:奇数个数,其中除了一个数只出现一次外,其他数都是成对出现,比如1,2,2,3,3...,求出该单个数. 解法:容易想到异或的性质,两个 ...

最新文章

  1. 堆排序——HeapSort
  2. angular HttpClient post put patch del 方法(2)-Promise 服务
  3. CMFCTabCtrl的使用
  4. 【数据挖掘】特征相关性挖掘神器-线性非线性关系一键挖掘!
  5. mysql手注_php+mysql手注拿shell教程【朋友给的】
  6. CL_CRM_REPORT_ACCRULE_ONEORDER
  7. Vmware esxi忘记密码重置方法
  8. 关于jstl EL用法的注意点(java.lang.NumberFormatException: For input string: userName)
  9. 《我也能做CTO之程序员职业规划》之七:大学生职业规划技巧
  10. python turtle输出坐标_如何在Python/turtle中使用坐标列表绘制形状
  11. tp3.2框架运行原理
  12. cad道路里程桩号标注_CAD道路桩号自动编号插件
  13. javaweb超市仓库管理系统
  14. CodeBlock13.12对gcc与g++的更新
  15. Vue.js与Node.js一起打造一款属于自己的音乐App(收藏)
  16. 论文阅读 Hourglass:Stacked Hourglass Networks for Human Pose Estimation
  17. 使用jQuery完成下拉菜单
  18. JS键盘码及使用方法
  19. Kali Linux渗透测试之被动信息收集(一)——nslookup、dig、DNS区域传输、DNS字典爆破、DNS注册信息
  20. 【Flink源码分析】Flink 命令启动全流程

热门文章

  1. dbvis增加oralc连接
  2. ORALC/HIVE 的STDDEV、STDDEV_POP、STDDEV_SAMP等函数
  3. java微信开发者模式开发_微信开发之启用开发者模式(三)
  4. 关于压缩工具7-zip的7z脚本用法
  5. linux远程连接ssh服务和http的深入介绍
  6. 23个部门联合发文:加快5G网络等信息基础设施建设和商用步伐,推动车联网部署应用...
  7. FLAG_ACTIVITY_CLEAR_TOP:
  8. 建造者模式用JAVA的简单实现
  9. 如何向Salesforce Support提Case
  10. 500年前的北大寺物证