📅  最后修改于: 2023-12-03 15:07:34.676000             🧑  作者: Mango
一个由数个整数组成的数组,找到只出现一次的数。
输入: [1, 2, 1, 3, 3]
输出: [2]
我们可以遍历数组,对每个数进行统计其出现的次数。最后再遍历一次数组,找到只出现一次的数,添加到一个新的数组中并返回。
Python 代码示例:
def find_single(nums):
"""
:type nums: List[int]
:rtype: List[int]
"""
result = []
for num in nums:
if nums.count(num) == 1:
result.append(num)
return result
时间复杂度:$O(n^2)$,空间复杂度:$O(n)$。
为了提高时间复杂度,我们可以使用哈希表来记录每个数出现的次数。
Python 代码示例:
def find_single(nums):
"""
:type nums: List[int]
:rtype: List[int]
"""
count = {}
for num in nums:
count[num] = count.get(num, 0) + 1
result = [num for num in count if count[num] == 1]
return result
时间复杂度:$O(n)$,空间复杂度:$O(n)$。