只出现一次的数其他都出现两次
来源:互联网 发布:贵州轩通大数据正规吗 编辑:程序博客网 时间:2024/06/06 02:26
只有一个这样的数
这个问题很简单。直接抑或就好。因为其他的数字都是出现两次的,异或出来是零,那么只有这个数组出来是自己。
有两个这样的数
这个问题不能通过简单的异或处理。那么可以这样分组.如果能把大的数字分成两个组,并且其余的出现两次的数字也都在这一组。那么就分成了两个问题一。。
关键在于如何分组。
我们还是从头到尾依次异或数组中的每一个数字,那么最终得到的结果就是两个只出现一次的数字的异或结果。因为其他数字都出现了两次,在异或中全部抵消掉了。由于这两个数字肯定不一样,那么这个异或结果肯定不为0,也就是说在这个结果数字的二进制表示中至少就有一位为1。我们在结果数字中找到第一个为1的位的位置,记为第N位。现在我们以第N位是不是1为标准把原数组中的数字分成两个子数组,第一个子数组中每个数字的第N位都为1,而第二个子数组的每个数字的第N位都为0。
现在我们已经把原数组分成了两个子数组,每个子数组都包含一个只出现一次的数字,而其他数字都出现了两次。因此到此为止,所有的问题我们都已经解决。
有三个这样的数
好么。问题又复杂了。
这个问题真的很复杂。自行百度吧
0 0
- 只出现一次的数其他都出现两次
- 数组中只有一个数出现一次,其他数都出现两次,如何找出只出现一次的那个
- 找出除一个数只出现一次外其他数都出现两次的数Single Number II
- 给定一个数组,除了两个数只出现一次以外,其他数都出现了两次。
- 从数组中找出只出现一次的两个数,数组中其他数都出现两次
- 找出数组中出现一次的三个数,其他数都出现两次
- Single Number(找出只出现了一次的数,其它数都出现两次)
- 给一个很大的数组,里面有两个数只出现过一次,其他数都出现过两次,把这两个数找出来
- 第三题,给一个很大的数组,里面有两个数只出现过一次,其他数都出现过两次,把这两个数找出来。
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。查出其他两个只出现一次的数
- 找出两个只出现一次的数(其它都出现两次)Single Number III
- 在其他数都出现k次的数组中找到只出现一次的数
- 在其他数都出现K次的数组中找到只出现一次的数
- 找出只出现一次的数,其他数都出现了k次
- 求数组中只出现一次的数,其他数都出现三次
- 其他三次 只出现一次的数
- 数组中除了两个数只出现过一次,其他的均出现过两次,请找出这两个只出现过一次的数
- 数组中除了三个数只出现过一次,其他的均出现过两次,请找出这三个只出现过一次的数
- 矩阵乘法
- 网络:socket 访问百度
- jsp包含指令
- spring框架学习(二)依赖注入
- XenServer 6.5实战转载记录
- 只出现一次的数其他都出现两次
- API集合框架之泛型
- maven pom.xml各地址来源
- spring框架学习(三)junit单元测试
- Wdatepicker日期控件的使用指南
- HDOJ 2614 Beat
- 快速gcd vs 普通gcd
- vipca报错 CRS-1006,CRS-0215
- spring框架学习(四)自动装配