x********o 发帖数: 519 | 1 一堆数,其中一些数出现了一次,一些数出现了两次,只有一个数出现了三次
找出那个出现了3次的数
hash方法很trivial就不说了。
如果用bitwise operator,怎么高效的做?除了XOR,是不是还得用点别的办法? |
P*****s 发帖数: 758 | |
l*******l 发帖数: 248 | 3 loop the array and fill the cout array
then look up the count array for 3
should take linear time only |
x********o 发帖数: 519 | 4 come on, we are looking for a better method, what you said is, somehow,
trivial.
【在 l*******l 的大作中提到】 : loop the array and fill the cout array : then look up the count array for 3 : should take linear time only
|
l*******l 发帖数: 248 | 5 好吧,我不是学CS的,还有比O(n)更快的吗?你说说你有什么更好的办法?
【在 x********o 的大作中提到】 : come on, we are looking for a better method, what you said is, somehow, : trivial.
|
x********o 发帖数: 519 | 6 I do not know any good method for this problem. that's why I am asking.
can not be better than O(n), but your method takes o(n) space as well, which
makes it not a good method.
【在 l*******l 的大作中提到】 : 好吧,我不是学CS的,还有比O(n)更快的吗?你说说你有什么更好的办法?
|
l*******l 发帖数: 248 | 7 又想了一下这道题。XOR应该是最高效的吧,O(1)space,O(n)time
出现两次的都cancel掉了,剩下的那个就是出现三次的
【在 x********o 的大作中提到】 : 一堆数,其中一些数出现了一次,一些数出现了两次,只有一个数出现了三次 : 找出那个出现了3次的数 : hash方法很trivial就不说了。 : 如果用bitwise operator,怎么高效的做?除了XOR,是不是还得用点别的办法?
|
P*****s 发帖数: 758 | 8 出现一次的也留下了啊。。。
【在 l*******l 的大作中提到】 : 又想了一下这道题。XOR应该是最高效的吧,O(1)space,O(n)time : 出现两次的都cancel掉了,剩下的那个就是出现三次的
|
l*******l 发帖数: 248 | 9 呀,是滴。。。看错题了
【在 P*****s 的大作中提到】 : 出现一次的也留下了啊。。。
|