LeetCode217——存在重复元素

题目:

如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。

刚开始看觉得这道题还蛮简单的,两层循环不就ok了,然而在测试时有时间限制,OTZ,看了一个大佬的评论,感觉涨知识了,先贴上我的丑丑的代码吧

class Solution(object):
    def containsDuplicate(self, nums):
        """
        :type nums: List[int]
        :rtype: bool
        """
        flag=0
        if (nums==[] or len(nums)==1 ):
            flag=0
        else:
            for i in range(0,len(nums)):
                for j in range(i+1,len(nums)):
                    if nums[i]==nums[j]:
                        flag=1
                        break
        return bool(flag)


大佬使用了“set”操作,先放上基本介绍

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等

把列表换乘set型,就可以了,放上大佬的答案

class Solution:
    def containsDuplicate(self, nums):
        """
        :type nums: List[int]
        :rtype: bool
        """
        set1 = set(nums)
        if len(set1) == len(nums):
            return False
        else:
            return True
发布了17 篇原创文章 · 获赞 0 · 访问量 3233

猜你喜欢

转载自blog.csdn.net/qq_31874075/article/details/88080363