iT邦幫忙

0

leetcode with python:217. Contains Duplicate

  • 分享至 

  • xImage
  •  

題目:

Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.

給定一個陣列,判斷裡面的值是否都是獨一無二的

這題用簡單的hash set就能實作

class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        s=set()
        for i in nums:
            if i not in s:
                s.add(i)
            else:
                return True
        return False

從頭開始遍歷,紀錄經過的值
一發現值已經在set內,return False
若都沒發現重複的值則return True
最後執行時間445ms(faster than 99.04%)

更狠一點還能這樣寫

class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        return len(nums) != len(set(nums))

將陣列轉set,若長度不同則代表有重複的數存在
最後執行時間472ms(faster than 92.76%)

那我們下題見


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言