题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:(1)首先考虑数组中若是只有一个数字是出现一次,其他都是出现两次的情况,在这种情况下,将所有的数字都位异或运算(^),因为相同的数字异或结果为0,所以最后地到的结果就是那个出现一次的数。(2)下面...
分类:
编程语言 时间:
2015-09-03 19:14:54
阅读次数:
204
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。数字都出现两次,则异或肯定为0。考虑下这个题目的简化版——数组中除一个数字只出现1次外,其它数字都成对出现,要求尽快找出这个数字。根据异或运算的特点,直接异或一次就可以找出这个数字。现在数组中有两个数字只出现...
分类:
编程语言 时间:
2015-09-02 00:41:36
阅读次数:
189
题目:输入一个数组,该数组中有两个只出现一次的数字,其他的数字都出现两次,输出出只出现一次的数字。思路:首先,我们可以将这个数组分成两份,一份里面放一个只出现一次的数字。那么我们该怎么分呢?将整个数组中的数字都异或,那么那些等的数字异或后都化为0,因此最后出现的不为0的数字就是两个只出现一次的数字他...
分类:
编程语言 时间:
2015-08-30 11:17:11
阅读次数:
146
难度:中等一个整数数组,除了一个数之外所有数字都出现了2次,找出这个数字来。注意: 你的算法应该是线性运行复杂度,且不能使用额外内存空间。答案:public class Solution { public int singleNumber(int[] nums) { int n ...
分类:
编程语言 时间:
2015-08-28 00:23:45
阅读次数:
183
难度:中等一个整数数组,除了一个数之外所有数字都出现了3次,找出这个数字来。注意: 你的算法应该是线性运行复杂度,且不能使用额外内存空间。答案:public class Solution { public int singleNumber(int[] nums) { int on...
分类:
编程语言 时间:
2015-08-28 00:23:15
阅读次数:
238
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:因为只有两个只出现一次的数字,所以所有数字进行异或之后得到值res一定不是0.这样,res中其中至少1bit不是0,我们根据这个bit是否为0把数组分为两组,两个只出现一次的数字肯定在不同的组。其...
分类:
编程语言 时间:
2015-08-27 22:56:11
阅读次数:
187
题目
一个整型数组里除了两个数字之外,其他数字都出现了两次。请找出这两个只出现一次的数字。要求时间复杂度O(n),空间复杂度O(1)
思路
我们知道如果把题目中的两个数字换成一个的话,整个数组内的元素连续异或,最终的数便是那个出现一次的数,因为异或的性质:相同为0,不同为1,所以有任何数字异或自己都是0。
换成两个数字后,我们可以继续全局异或,得到的数必然不等于0,那么也就是说二进制中必然...
分类:
编程语言 时间:
2015-08-21 23:24:46
阅读次数:
162
/*
求一个数组中只出现一次的数字(注:只针对数组中有两个数不同,且其他数字两两相同)
题目:一个整型数组里除了两个数字出现一次外,其他的数字都出现了两次;求出现一次的数字;
如:数组a[]={2,4,3,6,3,2,5,5};执行程序后应输出4和6;因为4,6只在该数组中出现了一次
思路:两个数字相同其异或结果一定为0,先异或—>再分组—->再对每个子序列异或...
分类:
编程语言 时间:
2015-08-21 13:40:17
阅读次数:
209
#includeusing namespace std;bool iswei1(int data,int wei){ int i=8*sizeof(int); data=data>>(i-wei); return(data&1);}void number1(int *list,in...
分类:
编程语言 时间:
2015-08-13 17:25:06
阅读次数:
116
题目描述:
一个整型数组里除了两个数字之外,其他的数字都出现了两次。编写程序找出这个两个只出现一次的数字。要求时间复杂度O(n),空间复杂度O(1).
如 {2,4,3,6,3,2,5,5},输出{4,6}解析:
空间复杂度为O(1)断绝了用hash-table的思路,时间复杂度O(n)断绝排序的思路。如何判断一个数字出现2次呢?
计数
异或:如果出现2次,任意数字和自己异或都为0
异或的性质...
分类:
编程语言 时间:
2015-07-29 19:28:57
阅读次数:
114