65 - 存在重复元素
题目
给定一个整数数组,判断是否存在重复元素。
如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。
示例 1:
输入: [1,2,3,1] 输出: true
示例 2:
输入: [1,2,3,4] 输出: false
示例 3:
输入: [1,1,1,3,3,4,3,2,4,2] 输出: true
解答
只要有一样的元素,就输出true。那么可以用哈希表存一下已经有的内容,也可以用indexof
来找相同的值,也可以排序后查一下后面有没有一样的值
这次题目很刺激,一下子想到了三种解法,还都写出来了,感觉自己很酷哈~😎😎
indexof
从上一个题目解答获得的灵感,查一下后面有没有相同的数
Runtime: 1584 ms, faster than 9.87% of JavaScript online submissions for Contains Duplicate.
Memory Usage: 37.2 MB, less than 94.12% of JavaScript online submissions for Contains Duplicate.
Runtime: 784 ms, faster than 5.13% of Go online submissions forContains Duplicate.
Memory Usage: 6.4 MB, less than 100.00% of Go online submissions for Contains Duplicate.
go没有现成的indexOf
函数,只能手写一个。。
倒不如先排序一下。
sort
Runtime: 96 ms, faster than 24.68% of JavaScript online submissions for Contains Duplicate.
Memory Usage: 38.5 MB, less than 91.18% of JavaScript online submissions for Contains Duplicate.
Runtime: 24 ms, faster than 49.49% of Go online submissions forContains Duplicate.
Memory Usage: 6.4 MB, less than 100.00% of Go online submissions for Contains Duplicate.
go的做法要用到sort
包,而且遍历的长度要-1
,不然会导致panic,因为切片指向了一个不存在的地方。
但js里面不需要管那么多,因为即使指了数组之外,也是undefined
,也是不想等的。
map
Runtime: 60 ms, faster than 91.75% of JavaScript online submissions for Contains Duplicate.
Memory Usage: 41.6 MB, less than 41.18% of JavaScript online submissions for Contains Duplicate.
这个方法速度贼快哈
Runtime: 20 ms, faster than 87.06% of Go online submissions forContains Duplicate.
Memory Usage: 9.2 MB, less than 25.00% of Go online submissions forContains Duplicate.
set
作者:pandawakaka
用set去重后,判断一下两者长度是否相同,很酷的解法哈。
Runtime: 56 ms, faster than 97.51% of JavaScript online submissions for Contains Duplicate.
Memory Usage: 40.9 MB, less than 61.76% of JavaScript online submissions for Contains Duplicate.
set的长度要用size
来得到,和数组有些不同哈
也可以一边塞一边查有没有类似的
Runtime: 68 ms, faster than 70.50% of JavaScript online submissions for Contains Duplicate.
Memory Usage: 40.3 MB, less than 70.59% of JavaScript online submissions for Contains Duplicate.
这个好像比map要好一点哈,毕竟不用多存一个true浪费空间。
感觉和array的indexof思路差不多,但就是比array快😂
Last updated
Was this helpful?