Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.
Example 1:
Input: nums = [1,2,3,1]
Output: true
Explanation:
The element 1 occurs at the indices 0 and 3.
Example 2:
Input: nums = [1,2,3,4]
Output: false
Explanation:
All elements are distinct.
Example 3:
Input: nums = [1,1,1,3,3,4,3,2,4,2]
Output: true
给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。
解题思路
方法1:利用set一行解决
方法2:先排序,然后判断相邻的两个元素是否相等,如果相等则说明存在重复的元素
代码
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
return not len(set(nums))==len(nums)
#set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
#方法2:先排序,然后判断相邻的两个元素是否相等,如果相等则说明存在重复的元素
# nums.sort()
# j = 1
# while j < len(nums):
# if nums[j-1] == nums[j]:
# return True
# else:
# j += 1
# return False