leetcode 961. 重複N次的元素(python)

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

結果:

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章