当前位置: 首页 > news >正文

力扣刷题(第五十天)

灵感来源 

- 保持更新,努力学习

- python脚本学习

存在重复元素

解题思路

最直接的思路是使用哈希集合(HashSet)来记录数组中已经出现过的元素。遍历数组时,检查当前元素是否已经在集合中:

  • 如果存在,说明有重复元素,返回 true
  • 如果不存在,将该元素加入集合
  • 遍历结束后仍未发现重复元素,则返回 false

这种方法的时间复杂度是 O (n),空间复杂度是 O (n),其中 n 是数组的长度。

class Solution:def containsDuplicate(self, nums: List[int]) -> bool:seen = set()for num in nums:if num in seen:return Trueseen.add(num)return False

逐行解释

class Solution:def containsDuplicate(self, nums: List[int]) -> bool:# 使用集合(哈希表)来记录已经出现过的元素# 集合的特点是元素唯一,查找元素的时间复杂度为O(1)seen = set()# 遍历数组中的每个元素for num in nums:# 检查当前元素是否已经在集合中出现过if num in seen:# 如果存在,说明有重复元素,直接返回Truereturn True# 如果不存在,将当前元素加入集合seen.add(num)# 遍历完整个数组都没有发现重复元素,返回Falsereturn False
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/237332.html

相关文章:

  • 蓝桥杯单片机之通过实现同一个按键的短按与长按功能
  • Java-IO流之序列化与反序列化详解
  • exec进程替换函数族
  • Docker基础(二)
  • 2.3 VS2019 简单使用
  • 跟我学c++中级篇——C++14中的透明操作符
  • 图片批量格式转换工具
  • 视频字幕质量评估的大规模细粒度基准
  • Spring IoC 模块设计文档
  • ZephyrOS 嵌入式开发Black Pill V1.2之Debug调试器
  • 力扣hot100---152.乘积最大子数组
  • leetcode 3170. 删除星号以后字典序最小的字符串 中等
  • Java毕业设计:办公自动化系统的设计与实现
  • 分类与扩展
  • MyBatis 获取插入数据后的自增 ID 值
  • 力扣面试150题--除法求值
  • [特殊字符] 深入理解 Linux 内核进程管理:架构、核心函数与调度机制
  • 提高Python编程效率的工具推荐
  • 工业生产设备机械滑台:讲述用途及性能
  • 前端杂货铺——TodoList
  • 港科大快手提出统一上下文视频编辑 UNIC,各种视频编辑任务一网打尽,还可进行多项任务组合!
  • win11系统 Docker Desktop 突然提示Docker Engine stopped解决情况之一
  • 利用frp和腾讯云服务器将内网暴露至外网(内网穿透)
  • 《真假信号》速读笔记
  • 微服务架构的性能优化:链路追踪与可观测性建设
  • 头像上传功能的实现
  • btstack协议栈---Ubuntu驱动CSR8510 USB Dongle
  • 八、【ESP32开发全栈指南:UDP客户端】
  • 【强化学习】——04Model-Based RL
  • 运维_集运维linu自动化运维和部署