示例 1:輸入:[1,2,3,3]
輸出:3
示例 2:輸入:[2,1,2,5,3,2]
輸出:2
示例 3:解答:這道題很簡單很簡單。最直觀的方法就是開闢乙個陣列用來記錄重複元素的個數,這種方法時間複雜度為o(n), 執行時間為線性。輸入:[5,1,5,2,5,3,5,4]
輸出:5
這裡主要介紹乙個線性時間的原地演算法。
我們可以採用計數器的思想,但是這裡由於重複元素的重複次數為n,所以我們應該去除乙個非重複元素。如何去除非重複元素?可以先找到最大值與最小值,從二者中選擇乙個非重複元素。再使用計數器的思想。over.
**:
class
solution
int flag =1;
//cout
(int i =
0; i < a.
size()
; i++)if
( a[i]
== max && flag ==1)
flag--
;else
if( a[i]
== max && flag ==0)
if( flag <0)
max = min;
//此時max可能是min也可能是max
int number = a[0]
, count =
1, k =0;
while
(number == max && k < a.
size()
) number = a[
++k]
;//cout
(int i =
0; i < a.
size()
; i++)if
( a[i]
!= number)
count--
;else
count++;}
return number;}}
;
執行結果:
重複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 ...
每日刷題 N皇后
n 皇后問題研究的是如何將 n 個皇后放置在 n n 的棋盤上,並且使皇后彼此之間不能相互攻擊。皇后的攻擊範圍為 自己所在的一行 自己所在的一列 以及自己所在的兩個對角線上。上圖為 8 皇后問題的一種解法。給定乙個整數 n,返回所有不同的 n 皇后問題的解決方案。每一種解法包含乙個明確的 n 皇后問...
leetcode 重複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 三種方法時間都差不多。class ...