今天我在一次採訪中被問到了這個問題。我已經嘗試瞭解決方案,但想知道如果有解決這個更好的方法:數組列表算法 - 訪談
問題:我得爲50種萬名元素的ArrayList說使得ArrayList中的每個元素的值是一樣的指數。例如:list.get(0)= 0; list.get(1)= 1 ...等。但是隻有一個元素與這種排序不同步[即list.get(i)!= i]。你如何找到這個元素。
我的答案:使用多個線程在列表中迭代每個線程處理每個線程處理每一次arraylist的拼接每次比較list.get(i)與i。當找到該元素時,設置一些布爾變量來向其他線程表明該元素已被找到。
有沒有辦法解決這個問題,而無需迭代列表?還是更好的方法?
沒有關於這個數字可能在列表中的提示,這個問題有點無聊。 – keyser 2012-04-26 14:21:54
我認爲你必須解釋「只有一個元素是不同步的」真的意味着..它沒有意義..請參閱下面的答案。我想如果你移動一個元素,所有剩餘的元素將不同步,不是? – duedl0r 2012-04-26 14:29:34
@ dued0r元素未被刪除。面試官詢問如何識別價值與指數不一致的因素。 – sachinrahulsourav 2012-04-26 14:54:57