題目:重複 N 次的元素
在大小為 2N 的陣列 A 中有 N+1 個不同的元素,其中有一個元素重複了 N 次。
返回重複了 N 次的那個元素。
複製程式碼
示例:
輸入:[1,2,3,3]
輸出:3
輸入:[2,1,2,5,3,2]
輸出:2
輸入:[5,1,5,2,5,3,5,4]
輸出:5
複製程式碼
思考:
一共2N個元素,有N+1個不同的元素,有一個元素重複N次。說明該陣列中有且只有一個元素重複,就是要求的這個元素。
所以利用一個Map,尋找出現次數大於1次的元素即可。
複製程式碼
實現:
class Solution {
public int repeatedNTimes(int[] A) {
Map<Integer, Integer> time = new HashMap<>();
int count;
for (count = 0; count < A.length; count++) {
if (time.containsKey(A[count])) {
break;
} else {
time.put(A[count], 0);
}
}
return A[count];
}
}複製程式碼