📅  最后修改于: 2023-12-03 14:57:48.216000             🧑  作者: Mango
本练习是Wipro的模拟测试中第五个问题,旨在考察程序员在编写代码时的逻辑思维和语言表达能力。
给定一个整数数组,编写一个函数来查找其中是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。
例如:
输入: [1,2,3,1] 输出: true
输入: [1,2,3,4] 输出: false
输入: [1,1,1,3,3,4,3,2,4,2] 输出: true
本题是很基础的算法题,可以使用哈希表来解决。具体思路如下:
def containsDuplicate(nums: List[int]) -> bool:
# 声明一个哈希表
num_dict = {}
# 遍历数组
for num in nums:
# 如果该元素已经在哈希表中出现过,说明存在重复元素,直接返回 true
if num in num_dict:
return True
# 将该元素添加到哈希表中
num_dict[num] = 1
# 如果遍历完数组都没有返回 true,则说明不存在重复元素,返回 false
return False
本题是一道比较基础的算法题,通过使用哈希表来解决,可以使时间复杂度降到 O(n)。在实际工作中,程序员需要掌握各种常见的数据结构和算法,才能写出高效、可靠且易于维护的代码。