1. 程式人生 > 其它 >力扣題解

力扣題解

技術標籤:力扣leetcode資料結構python

第十六題

題目
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
思路
先把List排序,然後用for迴圈遍歷,if判斷nums[i]是否等於nums[i+1],若等於返回True,若不等返回False,注意邊界len(nums)要記得減1。

程式碼

class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        nums.sort()
        for i in range(len(nums)-1):
            if nums[i] == nums[i+1]:
                return True
        return False

其他思路
也可以用雙重for迴圈判定,把相等的插入陣列中,判斷陣列的長度,若 大於等於1返回真,否則返回假。