劍指Offer刷題 陣列中重複的數字(03)

2021-10-19 22:46:07 字數 759 閱讀 7842

找出陣列中重複的數字。

在乙個長度為 n 的陣列 nums 裡的所有數字都在 0~n-1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。

示例 1:

輸入: [2, 3, 1, 0, 2, 5, 3] 輸出:2 或 3

限制:2 <= n <= 100000

排序再比較。

時間o(nlogn),空間o(1)。

int

findrepeatnumber

(vector<

int>

& nums)

return-1

;}

雜湊。

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

stl-map用法:

int

findrepeatnumber

(vector<

int>

& nums)

return j;

}

因為數字不超過陣列長度,因此將每個元素放回對應下標的位置,如果出現重複則返回這個元素。

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

int

findrepeatnumber

(vector<

int>

& nums)

}return-1

;}

劍指offer刷題

面試題6 從尾到頭列印鍊錶 struct listnode class solution reverse res.begin res.end return res 替換空格class solution int newnumstr numstr numspace 2 if newnumstr leng...

劍指offer刷題

原題鏈結 動態規劃 class solution dp for int i 1 i len1 i else if p j 1 else return dp len1 len2 原題鏈結 數學推導 找規律 class solution else if n 3 2 return ipow 3 numso...

劍指offer二刷 陣列專題 陣列中重複的數字

在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。最開始想到的是用 字典 依次記錄每個數字出現的次數,這就要遍歷陣列並...