学习目标:
通过LeetCode编程练习,坚持21天每日一题,提高编程水平。
学习内容:
题目:
给定一个整数数组 nums
,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。
示例 1:
输入:nums = [1,2,1,3,2,5] 输出:[3,5] 解释:[5, 3] 也是有效的答案。
学习产出:
这题比较简单,也是这几天自己独立写出来的唯一一题。
思路:
将给定的数组nums中元素逐一放入一个空列表,因为列表的性质是不能包含重复的值,所以如果给个判断,如果列表中已经有相同元素,则剔除这个元素,最终得到的列表就是只出现一次的数字的集合。
class Solution:
def singleNumber(self, nums: List[int]) -> List[int]:
res = []
set1 = set()
for i in range(len(nums)):
if nums[i] in set1:
set1.remove(nums[i])
else:
set1.add(nums[i])
return list(set1)