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

LeetCode 217. Contains Duplicate 题解

LeetCode 217. Contains Duplicate 题解

题目描述

给你一个整数数组nums。如果任一值在数组中出现至少两次,返回true;如果数组中每个元素互不相同,返回false

示例 1:

输入:nums = [1,2,3,1] 输出:true

示例 2:

输入:nums = [1,2,3,4] 输出:false

示例 3:

输入:nums = [1,1,1,3,3,4,3,2,4,2] 输出:true

解题思路

方法:哈希表

思路

  • 使用哈希表来存储已经遍历过的元素
  • 遍历数组,对于每个元素:
    • 如果该元素在哈希表中存在,返回true
    • 否则,将该元素加入哈希表
  • 遍历结束后,返回false

复杂度分析

  • 时间复杂度:O(n),其中 n 是数组的长度。只需要遍历数组一次。
  • 空间复杂度:O(n),需要使用哈希表来存储元素。

代码实现

方法:哈希表

class Solution: def containsDuplicate(self, nums: List[int]) -> bool: # 使用哈希表来存储已经遍历过的元素 seen = set() # 遍历数组 for num in nums: # 如果该元素在哈希表中存在,返回 true if num in seen: return True # 否则,将该元素加入哈希表 seen.add(num) # 遍历结束后,返回 false return False

测试用例

测试用例 1:

输入:nums = [1,2,3,1]
输出:true

测试用例 2:

输入:nums = [1,2,3,4]
输出:false

测试用例 3:

输入:nums = [1,1,1,3,3,4,3,2,4,2]
输出:true

总结

本题是哈希表的经典应用问题,主要考察对哈希表思想的理解和使用。通过使用哈希表,我们可以高效地判断数组中是否存在重复元素。

哈希表的核心思想是:使用哈希表来存储已经遍历过的元素,对于每个元素,检查它是否在哈希表中存在,如果存在,返回true,否则将其加入哈希表。

这种方法不仅适用于存在重复元素问题,还可以应用于许多其他需要快速查找元素的问题。掌握哈希表的使用,对于解决这类问题非常重要。

http://www.jsqmd.com/news/646289/

相关文章:

  • 多模态大模型临床验证真相(仅限2024Q2最新NCCN/ESMO双指南采纳数据)
  • BGE Reranker-v2-m3开源大模型部署教程:基于FlagEmbedding的轻量级重排序服务搭建
  • 告别离群值困扰:手把手教你用FlatQuant为LLaMA-3-70B实现W4A4无损量化
  • 在Rocky Linux 10.1上,用智谱GLM-4.5-flash免费API驱动Strix进行自动化渗透测试
  • Redis 主从延迟检测与修复
  • 多模态大模型全链路优化黄金三角:数据层(多源异构清洗)、模型层(动态稀疏路由)、系统层(Unified Memory Pipeline)——20年AI基础设施专家闭门课
  • 从虚拟感知到物理交互:Sim-to-Real迁移中的状态表征对齐
  • 终极视频下载神器:一键保存国内7大主流平台在线视频的完整指南
  • 微信4.1.5.16 UI树“隐身”之谜:揭秘UIAutomation按需暴露机制与RPA破解之道
  • 树莓派+匿名飞控:不用遥控器,手把手教你搭建自主无人机的大脑与神经
  • 从AT24C02 EEPROM驱动看I2C控制器设计:Verilog状态机与双向端口处理的那些坑
  • 从OCV到CRPR:一次搞懂时序分析中“降额”与“悲观去除”的协同工作流
  • 紧急预警:多模态灰度中未监控的模态间延迟放大效应正在 silently 毁掉你的Recall@1——立即启用这4项关键SLI
  • 从Air724UG到ML307R:一个开源物联网项目的模组选型与硬件升级实战记录
  • PX4-V1.14开发笔记(4):VSCode插件配置与调试技巧
  • 电机控制:PWM 原理与应用
  • 2026浙江学历提升机构哪家强?Top5实力榜深度测评 - 商业科技观察
  • PXI/PXIe控制器:4Link架构、16GB带宽、兼容主流机箱的设计文件及原理图PCB与...
  • QGridLayout进阶:掌握部件跨行跨列布局的实战技巧
  • PromQL 入门:Prometheus 查询语言
  • SITS2026选型决策树:9大维度对比GitHub Copilot、Tabnine、CodeWhisperer与国产新锐(附ROI测算模板)
  • 英伟达发布开源量子 AI 模型 Ising 量子计算获突破
  • 在openEuler 22.03上,除了Docker-Compose,你还需要知道的几个容器编排小工具
  • 终极指南:如何在Blender中实现建筑物理模拟的三大突破
  • 2026年国内主流品牌生熟分开刀具选购指南:生熟分开刀具哪个牌子好 - 商业小白条
  • 技术大咖来支招:西门子1200PLC与施耐德变频器Modbus通讯控制变频启停、设定频率、读取...
  • Colmap 3.6+CUDA版保姆级教程:从图片到3D模型的完整重建流程(附避坑指南)
  • WeChatMsg终极指南:如何永久保存并深度分析你的微信聊天记录
  • 企业级AI自动化平台深度解析:Midscene.js完整部署方案与最佳实践
  • EZCard:如何用自动化工具将桌游卡牌制作效率提升400%