Single Number
来源:互联网 发布:淘宝卖家怎么改优惠价 编辑:程序博客网 时间:2024/05/01 03:17
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?
int singleNumber(int A[], int n) { while(n>1)//共需进行n-2次异或 { A[n-2] = A[n-1]^A[n-2]; n--; } return A[0]; }
//本题参看其他人的答案,或多多少利用了额外的变量!不知是否判断在O(1)复杂度即可!
如下:
int singleNumber(int A[], int n) { int x = A[0]; for (int i = 1; i < n; ++i) x ^= A[i]; return x;}
有本题联想到一个交换不利用额外空间的例子
void swap(int &a, int &b){ a = a^b;//右边表达式都是一样 b = a^b; a = a^b;}
a=(a^b)^a;
b=(a^b)^b;
异或性质
1、交换律
2、结合律(即(a^b)^c == a^(b^c))
3、对于任何数x,都有x^x=0,x^0=x
4、自反性 A XOR B XOR B = A xor 0 = A
- 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
- Gossip 协议
- 程序员编程艺术第三十二~三十三章:最小操作数,木块砌墙问题
- [HDU 2049] 不容易系列之(4)——考新郎 (错排问题)
- struts2中将jsp table中的数据导出到excel表格中
- asp.net将数据导出Execl表格
- Single Number
- OC IOS 如何将BCD码转换为IOS 的ACSII码
- 独木舟上的旅行
- 如何评估oracle AWR 的在oracle 中的存储情况
- jsp学习笔记——Scriptlet(脚本小程序)
- java中各种小知识点
- SQL Server 2008转换成sql 2000数据库
- POJ 3254 Corn Fields (状态压缩DP)
- 程序员编程艺术第三十四~三十五章:格子取数问题,完美洗牌算法