码迷,mamicode.com
首页 >  
搜索关键字:数组中只出现一次的数字    ( 83个结果
剑指offer——面试题40:数组中只出现一次的数字
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:(1)首先考虑数组中若是只有一个数字是出现一次,其他都是出现两次的情况,在这种情况下,将所有的数字都位异或运算(^),因为相同的数字异或结果为0,所以最后地到的结果就是那个出现一次的数。(2)下面...
分类:编程语言   时间:2015-09-03 19:14:54    阅读次数:204
数组中只出现一次的数字
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。数字都出现两次,则异或肯定为0。考虑下这个题目的简化版——数组中除一个数字只出现1次外,其它数字都成对出现,要求尽快找出这个数字。根据异或运算的特点,直接异或一次就可以找出这个数字。现在数组中有两个数字只出现...
分类:编程语言   时间:2015-09-02 00:41:36    阅读次数:189
剑指offer-第六章面试中的各项能力(数组中只出现一次的数字)
题目:输入一个数组,该数组中有两个只出现一次的数字,其他的数字都出现两次,输出出只出现一次的数字。思路:首先,我们可以将这个数组分成两份,一份里面放一个只出现一次的数字。那么我们该怎么分呢?将整个数组中的数字都异或,那么那些等的数字异或后都化为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
【剑指offer】面试题40:数组中只出现一次的数字
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:因为只有两个只出现一次的数字,所以所有数字进行异或之后得到值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
剑指offer第40题 数组中只出现一次的数字
#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
40 - 找出数组中只出现一次的数字
题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次。编写程序找出这个两个只出现一次的数字。要求时间复杂度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
83条   上一页 1 ... 4 5 6 7 8 9 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!