217. 存在重複元素

 

 

 

思路:

題意爲:只要有一個元素出現次數>=2,則返回true;不然返回false;
利用list轉set會去重的特色。
注:
len(setnums) == len(nums)時,說明每一個元素都是惟一的,返回false;
只要去重後長度減少,說明有重複元素,則返回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
13 
14     """
15     思路:排序後用遍歷實現。
16     """
17     def containsDuplicate2(self, nums):
18         """
19         :type nums: List[int]
20         :rtype: bool
21         """
22         nums = sorted(nums)
23         for i in range(1, len(nums)):
24             if nums[i] == nums[i - 1]:
25                 return True
26         return False
27 
28 if __name__ == '__main__':
29     solution = Solution()
30     print(solution.containsDuplicate([1, 5, 3, 4, 2]))
相關文章
相關標籤/搜索