《剑指Offer》刷题笔记——面试题56-I. 数组中数字出现的次数

难度:中等

一、题目描述:

在这里插入图片描述

二、解题分析:

1、剑指解析

在这里插入图片描述

2、代码实现

class Solution:
    def singleNumbers(self, nums: List[int]) -> List[int]:
        xor = 0
        for i in nums:
            xor ^= i
        nums1, nums2 = 0, 0
        mask = 1 
        while xor & mask == 0:
            mask <<= 1
        for num in nums:
            if num & mask == 0:
                nums1 ^= num 
            else:
                nums2 ^= num 
        return [nums1, nums2]
发布了132 篇原创文章 · 获赞 154 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_34108714/article/details/104758666