【Python3】【力扣题】217. 存在重复元素

【力扣题】题目描述:

【Python3】代码:

1、解题思路:遍历每个元素,判断元素个数是否大于1。(此方法不适用。超出时间限制)

python 复制代码
class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        # 超出时间限制
        for x in nums:
            if nums.count(x) > 1:
                return True
        return False

2、解题思路:用字典形式记录每个元素的个数。判断个数是否大于1。

知识点:collections**.**Counter(...):字典子类(计数器)。记录每个元素出现的次数。

字典**.**items():返回可遍历的键值对,键值对为元组形式(键,值)。

python 复制代码
class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        from collections import Counter
        c = Counter(nums)
        for k,v in c.items():
            if v > 1: return True
        return False

3、解题思路:列表中元素可重复,集合中元素不重复。将列表转为集合,列表长度与集合长度不同,则存在重复元素。

知识点:set(...):转为集合。

len(...):获取序列(列表、集合等)的长度。

python 复制代码
class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        if len(nums) > len(set(nums)):
            return True
        return False
        # 或者
        return len(nums) > len(set(nums))
        # 或者
        return len(nums) != len(set(nums))
        

4、 解题思路:将列表排序,依次对比两个元素,相同则存在重复元素。

知识点:列表**.**sort():在原列表基础上排序。

range(n):从0到(n-1)的n个数字。即0、1、2、...、n-1。

序列[i]:序列中第i个元素。i从0开始。

python 复制代码
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

5、解题思路:哈希表。遍历每个元素,插入哈希表中, 若已在哈希表中,则存在重复元素。

知识点:set():创建空集合。集合中的元素不重复。

元素 in 集合:判断元素是否在集合中。

集合**.**add(...):往集合中添加元素。

python 复制代码
class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        s = set()
        for x in nums:
            if x in s:
                return True
            s.add(x)
        return False
相关推荐
专注API从业者13 分钟前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
java1234_小锋20 分钟前
[免费]基于Python的协同过滤电影推荐系统(Django+Vue+sqlite+爬虫)【论文+源码+SQL脚本】
python·django·电影推荐系统·协同过滤
看海天一色听风起雨落1 小时前
Python学习之装饰器
开发语言·python·学习
XiaoMu_0011 小时前
基于Python+Streamlit的旅游数据分析与预测系统:从数据可视化到机器学习预测的完整实现
python·信息可视化·旅游
THMAIL2 小时前
深度学习从入门到精通 - 生成对抗网络(GAN)实战:创造逼真图像的魔法艺术
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·cnn
我没想到原来他们都是一堆坏人3 小时前
(未完待续...)如何编写一个用于构建python web项目镜像的dockerfile文件
java·前端·python
总有刁民想爱朕ha4 小时前
车牌模拟生成器:Python3.8+Opencv代码实现与商业应用前景(C#、python 开发包SDK)
开发语言·python·数据挖掘
人衣aoa4 小时前
Python编程基础(八) | 类
开发语言·python
大模型真好玩4 小时前
深入浅出LangGraph AI Agent智能体开发教程(四)—LangGraph全生态开发工具使用与智能体部署
人工智能·python·mcp
百锦再5 小时前
脚本语言的大浪淘沙或百花争艳
java·开发语言·人工智能·python·django·virtualenv·pygame