[Leetcode 136, Medium] Single Number I
2013-11-07 02:03
197 查看
Problem:
Given an array of integers, every element appears twice except
for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
Analysis:
算法:逻辑运算的异或(^)是交换且可结合的,而且,是幂等的。所以,如果是有且只有一个单独出现的元素,那么把所有的元素进行异或操作,所得到的值就是所要的结果。
衍生问题:every element appears even times except
for one which appears odd times.
Solution:
C++:
(I)
Given an array of integers, every element appears twice except
for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
Analysis:
算法:逻辑运算的异或(^)是交换且可结合的,而且,是幂等的。所以,如果是有且只有一个单独出现的元素,那么把所有的元素进行异或操作,所得到的值就是所要的结果。
衍生问题:every element appears even times except
for one which appears odd times.
Solution:
C++:
(I)
int singleNumber(int A[], int n) { if(n == 0) return 0; int rval = A[0]; for(int i = 1; i < n; ++i) rval ^= A[i]; return rval; }
相关文章推荐
- 136.LeetCode Single Number(medium)[数组 单数]
- LeetCode 136:Single Number I
- [LeetCode] 137--Single Number II --Medium--
- LeetCode136 Single Number, LeetCode137 Single Number II, LeetCode260 Single Number III
- 136. Single Number LeetCode
- leetCode191/201/202/136 -Number of 1 Bits/Bitwise AND of Numbers Range/Happy Number/Single Number
- 【leetcode】【136】Single Number I
- leetcode136:single number I&II 及拓展
- 【Leetcode】136-single-number【Java实现】【位操作】
- LeetCode(136)(137) Single Number I II
- 【leetcode】Single Number II (medium) ★ 自己没做出来....
- leetcode 136. Single Number && 137. Single Number II
- Leetcode 136 137 260 SingleNumber I II III
- 【LeetCode】(137)Single Number II(Medium)
- [leetcode]136. Single Number@Java解题报告
- LeetCode@Array_136_Single_Number
- Leetcode Single Number 136
- 【Leetcode】【Medium】Single Number II
- 136. Single Number Difficulty: Medium
- leetCode191/201/202/136 -Number of 1 Bits/Bitwise AND of Numbers Range/Happy Number/Single Number