已解决
【Python3】【力扣题】217. 存在重复元素
来自网友在路上 152852提问 提问时间:2023-11-02 08:52:32阅读次数: 52
最佳答案 问答题库528位专家为你答疑解惑
【力扣题】题目描述:
【Python3】代码:
1、解题思路:遍历每个元素,判断元素个数是否大于1。(此方法不适用。超出时间限制)
class Solution:def containsDuplicate(self, nums: List[int]) -> bool:# 超出时间限制for x in nums:if nums.count(x) > 1:return Truereturn False
2、解题思路:用字典形式记录每个元素的个数。判断个数是否大于1。
知识点:collections.Counter(...):字典子类(计数器)。记录每个元素出现的次数。
字典.items():返回可遍历的键值对,键值对为元组形式(键,值)。
class Solution:def containsDuplicate(self, nums: List[int]) -> bool:from collections import Counterc = Counter(nums)for k,v in c.items():if v > 1: return Truereturn False
3、解题思路:列表中元素可重复,集合中元素不重复。将列表转为集合,列表长度与集合长度不同,则存在重复元素。
知识点:set(...):转为集合。
len(...):获取序列(列表、集合等)的长度。
class Solution:def containsDuplicate(self, nums: List[int]) -> bool:if len(nums) > len(set(nums)):return Truereturn False# 或者return len(nums) > len(set(nums))# 或者return len(nums) != len(set(nums))
4、 解题思路:将列表排序,依次对比两个元素,相同则存在重复元素。
知识点:列表.sort():在原列表基础上排序。
range(n):从0到(n-1)的n个数字。即0、1、2、...、n-1。
序列[i]:序列中第i个元素。i从0开始。
class Solution:def containsDuplicate(self, nums: List[int]) -> bool:nums.sort()for i in range(len(nums)-1):if nums[i] == nums[i+1]:return Truereturn False
5、解题思路:哈希表。遍历每个元素,插入哈希表中, 若已在哈希表中,则存在重复元素。
知识点:set():创建空集合。集合中的元素不重复。
元素 in 集合:判断元素是否在集合中。
集合.add(...):往集合中添加元素。
class Solution:def containsDuplicate(self, nums: List[int]) -> bool:s = set()for x in nums:if x in s:return Trues.add(x)return False
查看全文
99%的人还看了
相似问题
- 〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性
- CSS中常用的伪元素选择器
- XmlElement注解在Java的数组属性上,以产生多个相同的XML元素
- Web 自动化神器 TestCafe(二)—元素定位篇
- 代码随想录算法训练营第一天|数组理论基础,704. 二分查找,27. 移除元素
- 代码随想录算法训练营第五十九天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
- JAXB:用XmlElement注解复杂类型的Java属性,来产生多层嵌套的xml元素
- Arcgis js Api日常天坑问题3——加载geojson图层,元素无属性
- 〖大前端 - 基础入门三大核心之JS篇㊳〗- DOM访问元素节点
- 力扣.82删除链表中的重复元素(java语言实现)
猜你感兴趣
版权申明
本文"【Python3】【力扣题】217. 存在重复元素":http://eshow365.cn/6-30044-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!