题目
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
Example 2:
Input: nums = [1,2,3,4]
Output: false
Example 3:
Input: nums = [1,1,1,3,3,4,3,2,4,2]
Output: true
Constraints:
1 <= nums.length <= 105
-109 <= nums[i] <= 109
思路
最简单的思路是散列表记录元素与元素出现的次数,如果有元素的出现次数大于二,则返回true,否则返回false。
貌似也没有其他更优秀的方法。。
代码
python版本:
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
cnt = Counter(nums)
for i in cnt.values():
if i > 1:
return True
return False
# 或者用set
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
return len(nums) != len(set(nums))