LeetCode 217 Contains Duplicate--python,java解法--set--简单
发布日期:2022-03-18 18:19:24
浏览次数:10
分类:技术文章
本文共 1348 字,大约阅读时间需要 4 分钟。
题目地址:
题目:
Given an array of integers, find if the array contains any duplicates.Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.
Example 1:
Input: [1,2,3,1]Output: true
Example 2:
Input: [1,2,3,4]Output: false
Example 3:
Input: [1,1,1,3,3,4,3,2,4,2]Output: true
意思是给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。
我的想法是先排序,再看是否有重复的。
Python3代码如下:class Solution: def containsDuplicate(self, nums: List[int]) -> bool: if len(nums)<2: return False nums.sort() for i in range(1,len(nums)): if nums[i]==nums[i-1]: return True return False
结果如下:
Runtime: 52 ms, faster than 50.12% of Python3 online submissions for Contains Duplicate.Memory Usage: 16.4 MB, less than 82.20% of Python3 online submissions for Contains Duplicate.
看了别人的Solution后,我觉得也许用set更快:
class Solution: def containsDuplicate(self, nums: List[int]) -> bool: nums2=set(nums) return len(nums2)!=len(nums)
结果只用了44ms,快了11ms,但内存多占用了3M
Java代码如下:
class Solution { public boolean containsDuplicate(int[] nums) { Setset = new HashSet<>(nums.length); for (int x: nums) { set.add(x); } return set.size()!=nums.length; }}
耗时只有8ms,但是内存占用了44M。
转载地址:https://zhang0peter.blog.csdn.net/article/details/88140325 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年03月10日 16时58分04秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java 返回实体对象_java 封装返回结果实体类 返回结果以及错误信息
2019-04-21
java web 防止sql注入攻击_JavaWeb防注入知识点(一)
2019-04-21
java ssm 异常分类_SSM项目常见的异常与处理提示(一)
2019-04-21
java定义矩形类_Java定义矩形类
2019-04-21
java变量怎么变常量_Java的常量与变量是什么?怎么学习呀?
2019-04-21
java开发招聘试题_客户化开发招聘试题-Java开发.doc
2019-04-21
java jdk win10 1335_win10下安装java jdk,tomcat
2019-04-21
php中的变量名称用什么表示,PHP变量,方法,类等名称中的有效字符是什么?
2019-04-21
solr比mysql的优势_Solr与Elasticsearch的优缺点比较总结和归纳
2019-04-21
华为博士招聘上机考试题目_牛客网-华为-2020届校园招聘上机考试-3
2019-04-21
python中for可以做变量名吗_Python中使用动态变量名的方法
2019-04-21
mysql 日期转换天数_MySQL 日期操作 增减天数、时间转换、时间戳
2019-04-21
java对象去重复_JAVA中List对象去除重复值的方法
2019-04-21
java bss_[转] .bss段和.data段的区别
2019-04-21
java上传图片损坏_大神求助 上传图片后 图片损坏
2019-04-21
java socket唯一标识符_Java Socket编程之常识网络基础知识
2019-04-21