LeetCode刷题笔记第217题:存在重复元素

LeetCode刷题笔记第217题:存在重复元素

题目:

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

想法:

要判断数组中是否存在重复的元素,创建一个字典,遍历数组中的元素,如果字典中不存在该元素则存进字典,如果该元素存在则直接返回true,当遍历完成数组后字典中不存在重复的元素则返回false

复制代码
class Solution:
    def containsDuplicate(self, nums: List[int]) -> bool:
        nums_dict = {}
        for i in nums:
            if i not in nums_dict:
                nums_dict[i] = 1
            else:
                return True
        return False

因为要遍历整个数组,所以时间复杂度O(n)。

因为创建了一个字典存放数组中的元素,因此空间复杂度O(n)。

相关推荐
c238563 分钟前
下篇:伸缩魔法!进阶吃透可变滑动窗口篇
c++·算法
txzrxz8 分钟前
关于二维/多维前缀和
算法
来一碗刘肉面13 分钟前
顺序表的按值查找
数据结构·c++·算法
大明者省24 分钟前
‌Docker Desktop - Virtual Machine Platform not enabled
笔记
zzz_23681 小时前
【Java实习面试算法冲刺】图论
java·算法·面试
大鱼>1 小时前
宠物监控数据安全与隐私保护:端到端加密与合规实践
人工智能·深度学习·算法·iot·宠物
被自己蠢哭1 小时前
BFS广度优先搜索问题:#P00496. 华为od机试—自动泊车
算法
:-)1 小时前
分支限界算法
算法
疯狂打码的少年1 小时前
【软件工程】需求工程:需求获取与需求分析
数据库·笔记·软件工程·需求分析
大鱼>2 小时前
宠物行为识别AI算法详解:从数据采集到模型部署的完整方案
人工智能·深度学习·算法·宠物