single-number
来源:互联网 发布:法国工资 知乎 编辑:程序博客网 时间:2024/06/07 04:44
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?
因为A XOR A = 0,且XOR运算是可交换的,于是,对于实例{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
就把只出现了一次的元素(其余元素均出现两次)给找出来了!
class Solution {public: int singleNumber(int A[], int n) { int ans = A[0]; for (int i = 1; i < n; i++) { ans = ans ^ A[i]; } return ans; }};
0 0
- Single Number
- single number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- Single Number
- single number
- Single Number
- Single Number
- Single Number
- 委托与事件
- 【二维线段树】HDU 1823
- 作业4.18
- sgu 167
- LEXUS EXTROIC OPENCART 2.X 自适应主题模板 ABC-0648-02
- single-number
- Spring学习1:Spring源码阅读环境搭建
- linux命令之df
- Android的shape,两个圆角例子
- 《剑指Offer》学习笔记--面试题40:数组中只出现一次的数字
- 未来数字芯片的发展趋势
- Libnids开发包介绍
- 我的分享
- 个人成长有感之管理(一)