there are some issues with your method:
1. starting with a[i] != i, you might find a cycle and go back to i. In this cycle, no element occurred more than once.
2. The problem asks you to find one repeated element. Not every element in a cycle is repeated. Finding the exact "entrance" to a cycle is the tricky part of the problem.
The big idea is correct though, and there is a linear time algorithm. Good luck~
it takes a bit more than that
所有跟帖:
•
hmm,這個有意思:)
-戲雨飛鷹-
♀
(0 bytes)
()
05/18/2009 postreply
21:12:19
•
回複:it takes a bit more than that
-utopian-
♂
(51 bytes)
()
05/20/2009 postreply
17:23:11
•
hashing needs linear memory as well. we want constant memory her
-dynamic-
♂
(0 bytes)
()
05/20/2009 postreply
17:28:12
•
Pay attention to some key numbers.
-亂彈-
♂
(0 bytes)
()
05/20/2009 postreply
19:24:24
•
覺得在哪裏見過這個題目
-haha2000-
♂
(19 bytes)
()
05/21/2009 postreply
07:24:10
•
I don't think so.
-亂彈-
♂
(0 bytes)
()
05/21/2009 postreply
09:52:29
•
這題目是IMB 2004 一月的一個puzzle:)
-戲雨飛鷹-
♀
(79 bytes)
()
05/21/2009 postreply
12:22:12
•
Yes, right! thanks!
-haha2000-
♂
(0 bytes)
()
05/22/2009 postreply
11:05:23