leetcode之Contains Duplicate (217)

題目:

給定一個整數數組,判斷是否存在重複元素。

如果任何值在數組中出現至少兩次,函數返回 true。如果數組中每個元素都不相同,則返回 false。

示例 1:

輸入: [1,2,3,1]
輸出: true

示例 2:

輸入: [1,2,3,4]
輸出: false

示例 3:

輸入: [1,1,1,3,3,4,3,2,4,2]
輸出: true

python代碼1:

class Solution(object):
    def containsDuplicate(self, nums):
        nums_dict = {}
        for num in nums:
            if num  in nums_dict:
                nums_dict[num] += 1
            else:
                nums_dict[num] = 1
        for i in nums_dict:
            if nums_dict[i] > 1:
                return True
        return False

python代碼2:(代碼1升級版)

class Solution:
    def containsDuplicate(self, nums):
        nums_dict = {}
        for num in nums:
            if num in nums_dict:
                return True
            else:
                nums_dict[num] = 1
        return False

python代碼3:

class Solution(object):
    def containsDuplicate(self, nums):
        return len(nums) != len(set(nums))

心得:python中set()函數很重要,曾經在百度的面試中讓用一行代碼解決一個問題時就用到了set(),所以經常用python的話還是要經常考慮簡單的方法的。

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