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

news2024/11/29 13:40:13

【力扣题】题目描述:

【Python3】代码:

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

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():返回可遍历的键值对,键值对为元组形式(键,值)。

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(...):获取序列(列表、集合等)的长度。

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开始。

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(...):往集合中添加元素。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1159833.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

优先队列----数据结构

概念 不知道你玩过英雄联盟吗?英雄联盟里面的防御塔会攻击离自己最近的小兵,但是如果有炮车兵在塔内,防御塔会优先攻击炮车(因为炮车的威胁性更大),只有没有兵线在塔内时,防御塔才会攻击英雄。…

关于嵌入式rtthread系统与单片机芯片

简介 我估计已经有很久没更新了,近一年都在某个国企里工作,我做的就是嵌入式工程师的岗位,最近才刚刚退出来,想来说说自己的工作使用的软件和系统。 本身进公司的时候,其实做的就是写单片机的板子的程序的工作&#x…

8. 一文快速学懂常用工具——Linux命令(上)

本章讲解知识点 引言 指令学习 本专栏适合于软件开发刚入职的学生或人士,有一定的编程基础,帮助大家快速掌握工作中必会的工具和指令。本专栏针对面试题答案进行了优化,尽量做到好记、言简意赅。如专栏内容有错漏,欢迎在评论区指…

西门子PLC ModbusTcp通信访问网关后从站(梯形图篇)

这篇文章和之前的" 西门子PLC ModbusTcp通信访问网关后从站(SCL语音轮询状态机FB) "属于姊妹篇,这里我们主要介绍梯形图代码如何实现ModbusTcp轮询。 SCL代码篇 西门子PLC ModbusTcp通信访问网关后从站(SCL语言轮询状态机FB)-CSDN博客文章浏览阅读6次。西门子PLC的…

创建超过1G内存大小的程序

正常情况一个进程最大占用内存为1G一下&#xff0c;如果程序有需求要使用超过1G大小的程序&#xff0c;可进行如下操作 VS修改设置&#xff1a;属性--->链接器--->系统--->启用大地址 【选择是】 测试申请堆内存代码 #include <stdlib.h> #include <stdio…

【数据结构】树形结构所有路径复原为链表

目录 1. 树形结构可视化 2. 树形结构转为链表 此目标是要还原树形结构的所有路径。树形结构是一种常见的数据结构&#xff0c;它表示元素之间层次关系。在树形结构中&#xff0c;每个节点可能拥有一个或多个子节点&#xff0c;形成了一个分层的结构。为了还原树形结构的路径&…

Linux的账号管理

本章的学习感觉如果不做系统管理员&#xff0c;作为简单了解就可以了 前面介绍了&#xff0c;用户&#xff0c;组&#xff0c;other三个角色&#xff0c; 每个用户创建都会有uid与之对应&#xff0c;创建的用户基本信息在一下两个文件中&#xff0c;也是我们要介绍的内容&…

天猫双11:秋冬换季呼吸健康受关注 呼吸机、雾化器、血氧仪成交翻番

10月31日晚8点&#xff0c;天猫双11正式开售&#xff0c;健康消费热情集中释放。秋冬换季&#xff0c;呼吸健康备受关注&#xff0c;呼吸机、雾化器、血氧仪成交翻番&#xff0c;中药滋补经典方增长近400%。天猫健康数据显示&#xff0c;小仙炖、Ulike、Swisse、可复美、敷尔佳…

网课搜题小程序源码/小猿题库多接口微信小程序源码+自带流量主

网课搜题小程序源码&#xff0c;多接口小猿题库等综合网课搜题微信小程序源码带流量主&#xff0c;网课搜题小程序&#xff0c;可以开通流量主赚钱。 搭建教程 1、微信公众平台注册自己的小程序 2、下载微信开发者工具和小程序的源码 3、上传代码到自己的小程序 下载地址&…

车载网关让无人车栩栩如生:一款性价比车载终端案例

​无人车是汽车智能化的高形态,而连接无人车的大脑正是5G车载网关。今天让我们通过SV900-5G产品,感受一下无人车会带来怎样便利的生活场景。 详情查看&#xff1a;https://www.key-iot.com/iotlist/sv900.html 我们首先来到一座自动化工厂,几台小型AGV忙碌穿梭,它们都安装了SV…

跨国文件传输为什么要用专业的大文件传输软件?

跨国文件传输是许多跨国企业需要的基础工作&#xff0c;对于传输的质量和速度要求也是很严格的&#xff0c;随着数据量的不断增加&#xff0c;寻常传统的传输方式肯定是不行&#xff0c;需要新的技术和方式来进行传输&#xff0c;大文件传输软件应运而出&#xff0c;那它有什么…

如何创建一个react项目

文章目录 前言前言打开小黑窗口npm init vite后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;react.js &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努力填补技术短板。(如果出现错误&am…

【hive 面试题】聚合操作时null和‘‘对结果的影响

1、HiveSQL中 聚合操作时null和对结果的影响 代码示例&#xff1a; with temp as (select null as aunion allselect 111 as a union allselect 222 as a union allselect 333 as aunion allselect as a )select sum(a), -- null 不会参与运算, 会转换成0avg(a), -- null …

图像二值化阈值调整——OTSU算法(大津法/最大类间方差法)

大津算法&#xff08;OTSU算法&#xff09;是一种常用的图像二值化方法&#xff0c;用于将灰度图像转化为二值图像。该算法由日本学者大津展之于1979年提出&#xff0c;因此得名。 大津算法的核心思想是通过寻找一个阈值&#xff0c;将图像的像素分为两个类别&#xff1a;前景…

【Amazon】AWS实战 | 快速发布安全传输的静态页面

文章目录 一、实验架构图二、实验涉及的AWS服务三、实验操作步骤1. 创建S3存储桶&#xff0c;存放网站网页2. 使用ACM建立域名证书3. 设置Cloudfront&#xff0c;连接S3存储桶✴️4. 设置Route53&#xff0c;解析域名服务5. 通过CLI工具上传网页更新内容【可选】 四、实验总结 …

Python小试牛刀:GUI(图形界面)实现计算器UI界面(二)

上一篇&#xff1a;Python小试牛刀&#xff1a;GUI&#xff08;图形界面&#xff09;实现计算器UI界面&#xff08;一&#xff09;-CSDN博客 在上一篇文章中介绍了Python GUI常用的库&#xff0c;以及运用GUI标准库tkinter仅设计了计算器的UI界面。 而在本篇文章&#xff0c;…

idea集成测试插件替代postman

idea集成测试插件替代postman 兄弟萌&#xff0c;你再测试接口是否无bug是否流畅的时候是否还在使用“postman”来回切换进行测试呢&#xff1f; 页面切换进行测试&#xff0c;有没有感觉很麻烦呢&#xff1f; 打开postman&#xff0c;输入接口地址&#xff0c;有没有感觉很麻烦…

如何选择云服务器?选择云服务器都要注意哪些关键点?

云服务器的选择对于企业和个人来说都是一个重要的决策&#xff0c;涉及到价格、周边生态、售后和续费等多个方面。本文将总结几个关键点&#xff0c;并推荐腾讯云作为一个性价比高、续费价格不贵的云服务器厂商。 价格&#xff1a;腾讯云的性价比高 在选择云服务器时&#xff…

自定义SpringBoot启动图标

在SpringBoot项目的resources目录下创建banner.txt文件 在https://www.bootschool.net/网站上复制Ascll艺术字&#xff08;图&#xff09;粘贴到banner.txt中保存。 启动项目就会加载 可以修改颜色&#xff0c;和版本号 ${application.version} 输出版本 ${spring-boot.v…

k8s-调度约束

目录 工作机制 调度过程 指定调度节点 Kubernetes 是通过 List-Watch 的机制进行每个组件的协作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦。 用户是通过 kubectl 根据配置文件&#xff0c;向 APIServer 发送命令&#xff0c;在 Node 节点上面…