1、题目
给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
示例 1:
输入: [1,1,1,3,3,4,3,2,4,2]
输出: true
2、解答
- 排序法:直接排序,然后连续的元素有相同的就是有重复元素。
- 去重法:使用set去重后的长度要是小于原始数组长度就是有重复元素。
其实还有其他方法,但是整体思路是这两个方向。
class Solution(object):
def containsDuplicate(self, nums):
"""
去重法:直接比较set前后数组长度即可
:type nums: List[int]
:rtype: bool
"""
return len(nums)>len(set(nums))
def containsDuplicate2(self, nums):
"""
排序法
:param nums:
:return:
"""
nums.sort()
prev = nums[0]
for i in nums[1:]:
if prev==i:
return True
prev = i
return False
该博客探讨了如何检查整数数组中是否存在重复元素的两种方法:一是通过排序后比较相邻元素,二是利用集合(set)去重后比较长度。提供的Python代码示例展示了这两种方法的实现,可用于判断数组中是否有重复数值。

被折叠的 条评论
为什么被折叠?



