题目描述:
给定一个整数数组 nums
,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。
示例:
输入:nums = [1,2,1,3,2,5] 输出:[3,5] 解释:[5, 3] 也是有效的答案。
输入:nums = [-1,0] 输出:[-1,0]
输入:nums = [0,1] 输出:[1,0]
思路解析:
1. 使用字典,先对数组进行遍历,将数字做key,出现的次数做value。
2. 遍历字典,取值为1的key。
可考虑使用哈希表,但本文作者不会。
代码:
class Solution:
def singleNumber(self, nums: List[int]) -> List[int]:
dic = {}
for i in nums:
if i in dic:
dic[i] += 1
else:
dic[i] = 1
rt = []
for k in dic:
if dic[k] == 1:
rt.append(k)
return rt