1
有一個數組除了一個數字(比如magic-number)都是唯一的。神奇數字 重複自己超過數組大小的一半。例如2,10,10,10,3.使用任何額外空間並且不對其進行排序,找到沒有 的幻數。現在有什麼方法可以在O(n)中完成它。在唯一編號數組中尋找重複的數字
有一個數組除了一個數字(比如magic-number)都是唯一的。神奇數字 重複自己超過數組大小的一半。例如2,10,10,10,3.使用任何額外空間並且不對其進行排序,找到沒有 的幻數。現在有什麼方法可以在O(n)中完成它。在唯一編號數組中尋找重複的數字
檢查每個元素對其鄰居,如果任何相等,那麼你已經找到了數字。 O(N)
如果第一次測試沒有發現號碼,然後你在以下情況:
10,2,10,3,10.
在這種情況下,數組中的第一個數字是一個神奇的數字。 O(1)
「沒有使用任何額外的空間」,你的意思是說你不能分配另一個搜索到的數字列表?基本上,只有列表的指針/索引是有效的? – user1676075
當然你總是需要指針和索引 –