leetcode 961. 重複N次的元素 —python
第一道擊敗了100%用戶的題,紀念一下。
題目:
在大小爲 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,一共有N+1個元素,找出重複N此的元素。也就是說,只有一個元素會重複N次,其他N個元素都僅出現一次。所以我們的目標可以改爲尋找出現次數超過兩次的元素。代碼如下:
class Solution(object):
def repeatedNTimes(self, A):
"""
:type A: List[int]
:rtype: int
"""
d = {}
N = len(A)
for item in A:
if item in d:
d[item] += 1
else:
d[item] = 1
if d[item] == 2:
return item