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))