找出陣列中重複的數字。
在乙個長度為 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。最開始想到的是用 字典 依次記錄每個數字出現的次數,這就要遍歷陣列並...