217. 存在重复元素

 

思路:

题意为:只要有一个元素出现次数>=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
 
原文地址:https://www.cnblogs.com/panweiwei/p/12748851.html