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

相关推荐
七夜zippoe几秒前
大模型低成本高性能演进 从GPT到DeepSeek的技术实战手记
人工智能·gpt·算法·架构·deepseek
二年级程序员1 分钟前
qsort函数的使用与模拟实现
c语言·数据结构·算法·排序算法
求真求知的糖葫芦5 分钟前
RF and Microwave Coupled-Line Circuits射频微波耦合线电路4.3 均匀非对称耦合线学习笔记(上)(自用)
笔记·学习·射频工程
ajole9 分钟前
C++学习笔记——C++11
数据结构·c++·笔记·学习·算法·stl
hoiii18711 分钟前
分布式电源选址定容的MATLAB算法实现
分布式·算法·matlab
客卿12319 分钟前
力扣二叉树简单题整理(第二集)
算法·leetcode·职场和发展
爱编码的傅同学21 分钟前
【今日算法】LeetCode 543.二叉树的直径 621.任务调度器 739.每日温度
数据结构·算法·leetcode
我命由我1234521 分钟前
企业领域 - 跨部门轮岗
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法
helloworldandy21 分钟前
C++安全编程指南
开发语言·c++·算法
sin_hielo21 分钟前
leetcode 3651
数据结构·算法·leetcode