Single Number
来源:互联网 发布:网络教育专科学费 编辑:程序博客网 时间:2024/05/21 17:32
1.题目
给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。
给出 [1,2,2,1,3,4,3],返回 4
2.算法
我们知道如果们每个整数出现2次,如果每一位出现1的次数也就是2的倍数,我们统计每一位出现1的次数,最后余2,就可以得到最后的出现一次的数
public int singleNumber(int[] A) { int[] digits = new int[32]; for(int i=0;i<32;i++) { for(int j=0;j<A.length;j++) { digits[i] += (A[j]>>i)&1; } } int res = 0; for(int i=0;i<32;i++) { res += (digits[i]%2)<<i; } return res; }
算法2:我们用异或运算符来解这道题,我们知道如果两个相等的数异或则最后为0,如果0和一个数a,异或,则最后为a,这样我们就可以找到出现一次的数了
public int singleNumber(int[] A) { // Write your code here if (A == null || A.length == 0) { return 0; } int res = A[0]; for (int i = 1; i < A.length; i++) { res ^= A[i]; } return res; }
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
- CNN的超参数 & 宽卷积和窄卷积的理解及tensorflow中的实现
- 为元素的特定事件绑定事件处理函数 : bind
- 总结2016年国内外的AR/VR产品
- 求大神,Android4.4 自动连接蓝牙Ble不弹出输入PIN码的窗口解决办法?
- wamp发布到局域网中
- Single Number
- android打包9.2,而ios打包才3.17,请问为什么!
- 236. Lowest Common Ancestor of a Binary Tree
- Markdown编辑器技巧
- Android ListView
- bzoj4721 [Noip2016]蚯蚓
- 卡尔曼滤波之目标跟踪
- VS2015开发FastReport报表系列--0001
- simple-mock-api