存在重复元素

 1 """
 2 题目:存在重复元素
 3 给定一个整数数组,判断是否存在重复元素。
 4 
 5 如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
 6 
 7  
 8 
 9 示例 1:
10 
11 输入: [1,2,3,1]
12 输出: true
13 示例 2:
14 
15 输入: [1,2,3,4]
16 输出: false
17 示例 3:
18 
19 输入: [1,1,1,3,3,4,3,2,4,2]
20 输出: true
21 
22 来源:力扣(LeetCode)
23 链接:https://leetcode-cn.com/problems/contains-duplicate
24 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
25 author:jiyanjiao
26 """
27 
28 
29 """
30 自己的思路,用第一个分别与其他的的比较,然后再用第二个分别与其他的比较
31 """
32 
33 
34 def exist_dumplate(list_num):
35     for i in range(len(list_num)):
36         for j in range(i+1, len(list_num)):
37             if list_num[i] != list_num[j]:
38                 continue
39             else:
40                 return True
41         i += 1
42     return False
43 
44 
45 """排序解法"""
46 
47 
48 def exist_dumplate2(list_num)-> bool:
49     # 对数组进行排序
50     list_num = list_num.sort()
51     # 前后比较
52     for i in range(len(list_num)-1):
53         if list_num[i] == list_num[i+1]:
54             return True
55     return False
56 
57 
58 """哈希表法"""
59 
60 
61 def exist_dumplate3(list_num)-> bool:
62     # 声明一个集合
63     s = set()
64     # 遍历数组,将元素添加到集合中,如果表中存在那就是重复
65     for num in list_num:
66         # 若元素存在集合中表示重复
67         if num in s:
68             return True
69         s.add(num)
70     return False
71 
72 
73 if __name__ == '__main__':
74     l =  [1,1,1,3,3,4,3,2,4,2]
75     print(exist_dumplate(l))