leetcode 136. Single Number
2017-03-15 15:05
344 查看
题目:Given an array of integers, every element appears twice except
for one. Find that single one.
找到在数组中只出现过一次的数,要求线性时间,同时空间复杂度为O(1)。
思路:将数组中的元素从小到大进行排列,然后比较相邻的元素,判断相邻的元素是否相等。
实现代码:
![](https://img-blog.csdn.net/20170315150901706)
另一种高效地实现方法:采用XOR异或运算符。
异或运算符的特点:
1. 可交换,即 a ^ b = b ^ a
2. 0 ^ a = a
因而,对于实例{2,1,4,5,2,4,1}就会有这样的结果:
实现代码如下:
![](https://img-blog.csdn.net/20170315152103616)
for one. Find that single one.
找到在数组中只出现过一次的数,要求线性时间,同时空间复杂度为O(1)。
思路:将数组中的元素从小到大进行排列,然后比较相邻的元素,判断相邻的元素是否相等。
实现代码:
另一种高效地实现方法:采用XOR异或运算符。
异或运算符的特点:
1. 可交换,即 a ^ b = b ^ a
2. 0 ^ a = a
因而,对于实例{2,1,4,5,2,4,1}就会有这样的结果:
(2^1^4^5^2^4^1) => ((2^2)^(1^1)^(4^4)^(5)) => (0^0^0^5) => 5
实现代码如下:
相关文章推荐
- [leetcode] 136 single number
- LeetCode-136 Single Number
- LeetCode 136 Single Number
- 【LEETCODE】136-Single Number
- leetcode之136. Single Number
- Leetcode-136:Single Number
- 算法分析与设计——LeetCode:136. Single Number
- leetcode_136. Single Number
- Leetcode 136. single number
- Leetcode 136 Single Number 亦或
- leetcode 136 —— Single Number
- [LeetCode]136. Single Number
- LeetCode 136. Single Number
- [LeetCode]136. Single Number
- LeetCode 136. Single Number
- The Solution to Leetcode 136 Single Number
- [leetcode 136] Single Number
- Leetcode:136.Single Number 找到数组里面的非重复数字,其他数字也最多重复两次
- [LeetCode] 136. Single Number
- Java [Leetcode 136]Single Number