思路:
题意为:只要有一个元素出现次数>=2,则返回true;否则返回false;
利用list转set会去重的特点。
需要注意:
1、len(setnums) == len(nums)时,说明每个元素都是唯一的,返回false;
2、只要去重后长度减小,说明有重复元素,则返回true。
代码一:
1 class Solution(object): 2 def containsDuplicate(self, nums): 3 """ 4 :type nums: List[int] 5 :rtype: bool 6 """ 7 setnums = set(nums) 8 # print(setnums) 9 if len(setnums) == len(nums): 10 return False 11 else: 12 return True
代码二:
1 class Solution(object): 2 """ 3 思路:排序后用遍历实现。 4 """ 5 def containsDuplicate2(self, nums): 6 """ 7 :type nums: List[int] 8 :rtype: bool 9 """ 10 nums = sorted(nums) 11 for i in range(1, len(nums)): 12 if nums[i] == nums[i - 1]: 13 return True 14 return False