在乙個長度為n的陣列裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。 例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。
首先,必須對陣列進行遍歷,在遍歷過程中,在基於雜湊表實現的unordered_set中進行查詢,如果當前數字不存在,則插入;如果查詢到則返回,程式結束。
整個過程用到了unordered_set的insert和find操作,其時間複雜度均為o(1),整體時間複雜度為o(n)。
class solution
} return false;
}};
劍指offer 陣列中的重複數字
在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。輸入 輸出 2或3從頭到尾依次掃瞄這個陣列中的每個數字,當掃瞄到下標為i的數字時,首先比較這個數字 用m表示 是不是等於i。如果是,則...
劍指offer 陣列中的重複數字
題目 陣列中的重複數字。在乙個長度為n的陣列裡所有的數字都在0 n 1範圍,陣列中某些數字是重複的,但是不知道有幾個數字重複了,請找出陣列中任意乙個重複的數字。例如 長度為7的陣列 2,3,1,2,5,3 重複的數字是2或者3。分析 方法 1 用兩層for迴圈,拿著每乙個資料與剩下的每乙個比較,看看...
劍指offer 陣列中的重複數字
在乙個長度為 n 的陣列 nums 裡的所有數字都在 0 n 1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。示例 乙個陣列中在只要遇到乙個重複數字就返回該數字,那後面是否還有重複數字不許用考慮。那麼遇到重複數字問題,我們可...