news 2026/4/17 18:20:41

LeetCode 217. Contains Duplicate 题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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,否则将其加入哈希表。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 19:30:36

逆向能力:从“高手”到“破局者”的核心跃迁

逆向能力:从“高手”到“破局者”的核心跃迁摘要正向能力是在既定规则内把事情做好的能力,它能让你成为“高手”,但终究逃不过“强中自有强中手”的桎梏——在无限军备竞赛中,再强的正向优势也会被更强的对手冲垮。逆向能力则是跳…

作者头像 李华
网站建设 2026/4/15 19:29:13

银行零售业务的数据引擎,南大通用GBase 8a数据库业务实施方案

银行零售业务每天面对千万级客户、亿级交易,数据像潮水一样涌来。传统数据库扛不住、响应慢、成本高。南大通用自主研发的云原生数据仓库GBase 8a MPP Cluster(简称:GBase 8a)用分布式列存、智能索引、在线扩展等硬核能力&#xf…

作者头像 李华
网站建设 2026/4/15 19:26:23

避坑指南:rosbag合并时你绝对想不到的5个时间戳问题

ROS实战:rosbag合并中5个隐藏的时间戳陷阱与解决方案 在自动驾驶和机器人开发中,rosbag作为数据记录和回放的核心工具,其合并操作看似简单却暗藏玄机。我曾在一个多传感器融合项目中,因为rosbag合并时的时间戳问题导致整整两周的…

作者头像 李华
网站建设 2026/4/15 19:25:48

手把手教你调试Odrive FOC:从Park/逆Park变换的代码实现到电机波形验证

深入解析Odrive FOC调试:Park/逆Park变换实战指南 在电机控制领域,现场定向控制(FOC)算法因其优异的动态性能和效率而广受青睐。作为FOC核心的Park变换与逆Park变换,承担着旋转坐标系与静止坐标系间相互转换的重任。本文将聚焦Odrive平台&am…

作者头像 李华
网站建设 2026/4/15 19:23:33

二分网络链路预测实战:基于MovieLens的电影推荐系统优化

1. 二分网络链路预测与电影推荐的奇妙结合 你有没有想过,为什么每次打开视频平台总能精准地看到自己喜欢的电影推荐?这背后其实藏着一个有趣的数学魔法——二分网络链路预测。想象一下,如果把所有用户和电影分别看作两种不同的节点&#xff0…

作者头像 李华