📅  最后修改于: 2023-12-03 15:12:14.630000             🧑  作者: Mango
在一个数组中查找第一个不重复出现的整数。
例如,对于数组 [4,2,4,5,2,3,1]
,结果应该是 5
。
我们可以使用一个字典来记录每个元素的出现次数,然后再遍历一遍数组,找到第一个出现次数为 1 的元素。
以下是 Python 实现:
def find_first_unique_number(numbers):
count = {}
# 统计每个元素的出现次数
for n in numbers:
if n in count:
count[n] += 1
else:
count[n] = 1
# 遍历数组,找到第一个出现次数为 1 的元素
for n in numbers:
if count[n] == 1:
return n
return None
assert find_first_unique_number([4,2,4,5,2,3,1]) == 5
assert find_first_unique_number([1,2,3,4,5,6,7,8,9,10]) == 1
assert find_first_unique_number([1]) == 1
assert find_first_unique_number([1,1,1,1,1]) == None
assert find_first_unique_number([]) == None
遍历一遍数组统计出现次数的时间复杂度为 O(n),再遍历一遍数组查找第一个出现次数为 1 的元素的时间复杂度也为 O(n),因此总的时间复杂度为 O(n)。
本题是 Wipro 模拟测试中的一道题目,要求我们在一个数组中查找第一个不重复出现的整数。我们可以使用字典来记录每个元素的出现次数,然后再遍历一遍数组,找到第一个出现次数为 1 的元素。时间复杂度为 O(n)。