题目:输入一个整型数组,数组里除了两个数出现一次之外,其它所有数字出现的次数都是2次,求这两个数字。要求时间复杂度为O(n),空间复杂度为O(1)
1 题目要求时间复杂度为O(n)并且空间复杂度为O(1)。这个时候朴素的方法利用数字来记录出现次数的方案都是不行的。
2 根据题目的特点,只有两个数出现一次,其它的所有数据都是出现2次。如果这两个数是a和b,那么对这个数组异或的结果就是a^...
分类:
其他好文 时间:
2014-05-24 14:17:24
阅读次数:
258
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1).例如:输入{2,7,3,10,3,2,5,5}
, 输出 7 和 10 。大家首先想到的是顺序扫描法,但是这种方法的时间复杂度是O(n2)。接着大家又会考虑用哈希表的...
分类:
其他好文 时间:
2014-05-24 01:10:20
阅读次数:
286
找只出现一次的两个数
题目:
一个整型数组里除了两个数字只出现一次之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。...
分类:
其他好文 时间:
2014-05-22 13:43:26
阅读次数:
248
Find a number which appears once in an array with
all the other numbers appear twice.
分类:
其他好文 时间:
2014-05-22 01:08:40
阅读次数:
278
Problem
1:一个数组中有一个数字a只出现一次,其他数字都出现了两次。请找出这个只出现一次的数字?考察知识点:异或运算思路:比如数字 b^b = 0 a^0 =
a因此,可以将数组中的所有数字进行异或,而最终异或的结果即为所求只出现一次的数字a.代码:1 def SingleNu...
分类:
其他好文 时间:
2014-05-09 12:14:22
阅读次数:
475