劍指offer 50 陣列中重複的數字

2021-09-26 20:12:22 字數 526 閱讀 9320

在乙個長度為n的陣列裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。 例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。

思路:解法一:

雜湊表 時間o(n) 空間o(n)

class

solution

else

; }

return

false

; }

};

解法二:

因為題目指明陣列內陣列在0~n-1之間,則對每個元素,都增加其元素作為索引所在位置上的值到超過length。當碰到下一次同樣元素時,判斷該值大於length,說明出現過一次,則返回該元素。

時間o(n) ,空間o(1)

class

solution

else

}return

false

; }

};

劍指offer 50 陣列中重複的數字

在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。這道題是比較基礎,主要思路如下 首先判斷陣列是否為空,若為空直接返回...

劍指Offer(50) 陣列中重複的數字

在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。1 將陣列連線成字串變數stringbuilder 2 按位遍歷字串...

《劍指 Offer》 50 陣列中重複的數字

陣列 在乙個長度為 n 的陣列裡的所有數字都在 0 到 n 1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如 input output 2要求時間複雜度 o n 空間複雜度 o 1 因此不能使用排序的方法,也不能使用額外...