在大小為2n的陣列a中有n+1個不同的元素,其中乙個元素重複了n次。返回重複了n次的那個元素。
示例1
輸入:[1,2,3,3]
輸出:3
示例2
輸入:[2,1,2,5,3,2]
輸出:2
示例3
輸入:[5,1,5,2,5,3,5,4]
輸出:5
本題最容易想到是對原始序列進行排序,然後通過判斷中間位置元素是否與最後乙個元素相等判斷重複出現n次的元素。時間複雜度是o(nlogn)。雖然本題可以通過,但是在面試中很有可能被問到能否在o(n)時間複雜度內完成。考慮數字的排序情況,例如示例3:可以看成先放好 1,2,3,4 ,然後相當於在5個空格中插入4個5,所有可能出現的情況可以分為三類:出現兩個5相鄰;沒有相鄰的情況,但是第乙個位置和第三個位置元素相等,或第乙個位置和最後位置相等;重複的元素全部出現在偶數字置上。
o(nlogn):
int repeatedntimes(vector& a)
o(n):
int repeatedntimes(vector& a)
if(a[0] == a[2] || a[0] == a[a.size()-1]) return a[0];
return a[1];
}
LeetCode 961 重複N次的元素
在大小為2n的陣列a中有n 1個不同的元素,其中有乙個元素重複了n次。返回重複了n次的那個元素。示例 1 輸入 1,2,3,3 輸出 3 示例 2 輸入 2,1,2,5,3,2 輸出 2 示例 3 輸入 5,1,5,2,5,3,5,4 輸出 5 4 a.length 100000 a i 10000...
961 重複 N 次的元素
在大小為 2n 的陣列 a 中有 n 1 個不同的元素,其中有乙個元素重複了 n 次。返回重複了 n 次的那個元素。示例 1 輸入 1,2,3,3 輸出 3 示例 2 輸入 2,1,2,5,3,2 輸出 2 示例 3 輸入 5,1,5,2,5,3,5,4 輸出 5 4 a.length 10000 ...
961 重複 N 次的元素
weekly contest 116的 重複 n 次的元素 在大小為2n的陣列a中有n 1個不同的元素,其中有乙個元素重複了n次。返回重複了n次的那個元素。示例1 輸入 1,2,3,3 輸出 3示例2 輸入 2,1,2,5,3,2 輸出 2示例3 輸入 5,1,5,2,5,3,5,4 輸出 5 4 ...