题解 | #数组中只出现一次的两个数字#

数组中只出现一次的两个数字

https://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param nums int整型一维数组
# @return int整型一维数组
#
from functools import reduce


def xor(a: int, b: int):
    return a ^ b


class Solution:
    def FindNumsAppearOnce(self, nums: List[int]) -> List[int]:
        # write code here
        xor_all = reduce(xor, nums)
        lowbit = xor_all & -xor_all
        ans = [0, 0]
        for x in nums:
            ans[(x & lowbit) != 0] ^= x  # 分组异或
        ans.sort()
        return ans

全部评论

相关推荐

穿件外套出门:这简历一眼太水了,前面有的没的直接删,写项目亮点
点赞 评论 收藏
分享
神哥了不得:神哥来啦~有可能只是为了注册账号,这个平台必须发一个招聘才能注册成功的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务