方法一:字典
https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof/solution/python3-zi-dian-qiao-jie-by-mu-ren-6/
class Solution:
def singleNumbers(self, nums: List[int]) -> List[int]:
cnt_dict = {}
for num in nums:
if cnt_dict.get(num):
del cnt_dict[num]
else:
cnt_dict[num] = 1
return list(cnt_dict.keys())
class Solution:
def singleNumbers(self, nums: List[int]) -> List[int]:
dic = collections.Counter(nums)
return(list(key for key, value in dic.items() if value == 1))
方法二:分组亦或
https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof/solution/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-by-leetcode/
class Solution:
def singleNumbers(self, nums: List[int]) -> List[int]:
ret = functools.reduce(lambda x,y: x^y, nums)
div = 1
while div & ret == 0:
div <<= 1
a, b = 0, 0
for n in nums:
if n & div:
a ^= n
else:
b ^= n
return [a, b]
本文介绍了两种解决LeetCode第55题的方法:一是使用Python字典进行快速解析;二是通过数组分组进行位运算求解。链接提供了详细解题思路和代码实现。
1409

被折叠的 条评论
为什么被折叠?



