存在重复元素
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))