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)。

相关推荐
xian_wwq8 分钟前
【学习笔记】-深度认知系列-第2讲-大模型到底是什么?——拆解“参数、训练、推理”
笔记·学习·深度认知
兴通物联科技1 小时前
SMT PCB 微小 DataMatrix 码扫不动问题分析 兴通 XT8601B 600 万像素工业读码器落地实践
大数据·人工智能·单片机·嵌入式硬件·算法·计算机视觉
Oll Correct3 小时前
Adobe illustrator 案例九:百宝箱图标绘制
笔记·ui·adobe·illustrator
月华路3 小时前
G1 GC 对数组与大对象(Humongous)的处理
java·jvm·算法
我想走路带风3 小时前
LRU和最长前缀和(计算机网络算法)
计算机网络·算法
M78佐菲4 小时前
Linux学习笔记:进程
linux·笔记·学习·算法
徐小夕5 小时前
表格、文档、甘特、大屏、表单一站打通:pxcharts超级表格4.0正式上线!
前端·算法·github
Xin7705 小时前
LeetCode 23.合并 K 个升序链表(分治递归)
leetcode
TechLee6 小时前
跨语言加解密总对不上?这个纯 Go 神库让 AES/RSA 与 PHP、Java 100% 互通
java·后端·算法