LeetCode Singer Number
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相关推荐
- LeetCode 191 Number of 1 Bits
LeetCode 191 Number of 1 Bits 解法一(较为传统都解法):使用将n不断右移,并与1想&得到1的个数:(也有使用除法/2的,明显除法的运行效率要低于位移) 时间复杂度 ...
- LeetCode 200. Number of Islands--c++ dfs解法
LeetCode 200. Number of Islands LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有题目总结 大部分题目C++,Pyt ...
- [勇者闯LeetCode] 191. Number of 1 Bits
[勇者闯LeetCode] 191. Number of 1 Bits Description Write a function that takes an unsigned integer and ...
- LeetCode 673. Number of Longest Increasing Subsequence--O(N log N )--Java,C++,Python解法
题目地址:Number of Longest Increasing Subsequence - LeetCode 做这道题目前建议先做:Longest Increasing Subsequence - ...
- [LeetCode]Single Number II
今天室友推荐了一道LeetCode上面的练习题Single Number II,题目大概的意思是有一个整形的数组,里面只有一个数是出现一次的,其他的数都出现了三次,然后让把这个数找出来. 第一眼看到这 ...
- leetcode - Single Number
今天开始刷leetcode上的题,争取校招前刷过一遍,从AC率最高的题目开始刷,不废话了,看题 题目:Single Number Given an array of integers, every e ...
- leetcode 476. Number Complement | 476. 数字的补数(位运算)
题目 https://leetcode.com/problems/number-complement/ 题解 class Solution {public int findComplement(int ...
- leetcode majority number
给定一组数,有一个数在这组数里的出现次数超过n/2次. 求出这是哪个数 https://leetcode.com/problems/majority-element/ 一开始考虑的方是将所有数转化为二 ...
- LeetCode Single Number I / II / III
[1]LeetCode 136 Single Number 题意:奇数个数,其中除了一个数只出现一次外,其他数都是成对出现,比如1,2,2,3,3...,求出该单个数. 解法:容易想到异或的性质,两个 ...
最新文章
- 堆排序——HeapSort
- angular HttpClient post put patch del 方法(2)-Promise 服务
- CMFCTabCtrl的使用
- 【数据挖掘】特征相关性挖掘神器-线性非线性关系一键挖掘!
- mysql手注_php+mysql手注拿shell教程【朋友给的】
- CL_CRM_REPORT_ACCRULE_ONEORDER
- Vmware esxi忘记密码重置方法
- 关于jstl EL用法的注意点(java.lang.NumberFormatException: For input string: userName)
- 《我也能做CTO之程序员职业规划》之七:大学生职业规划技巧
- python turtle输出坐标_如何在Python/turtle中使用坐标列表绘制形状
- tp3.2框架运行原理
- cad道路里程桩号标注_CAD道路桩号自动编号插件
- javaweb超市仓库管理系统
- CodeBlock13.12对gcc与g++的更新
- Vue.js与Node.js一起打造一款属于自己的音乐App(收藏)
- 论文阅读 Hourglass:Stacked Hourglass Networks for Human Pose Estimation
- 使用jQuery完成下拉菜单
- JS键盘码及使用方法
- Kali Linux渗透测试之被动信息收集(一)——nslookup、dig、DNS区域传输、DNS字典爆破、DNS注册信息
- 【Flink源码分析】Flink 命令启动全流程
热门文章
- dbvis增加oralc连接
- ORALC/HIVE 的STDDEV、STDDEV_POP、STDDEV_SAMP等函数
- java微信开发者模式开发_微信开发之启用开发者模式(三)
- 关于压缩工具7-zip的7z脚本用法
- linux远程连接ssh服务和http的深入介绍
- 23个部门联合发文:加快5G网络等信息基础设施建设和商用步伐,推动车联网部署应用...
- FLAG_ACTIVITY_CLEAR_TOP:
- 建造者模式用JAVA的简单实现
- 如何向Salesforce Support提Case
- 500年前的北大寺物证