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

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

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

class Solution:
    def FindNumsAppearOnce(self , array ):
        #1)用位运算的方法:
        xor=0
        for i in array:
            xor=xor^i
        
        flag=1
        while((xor&flag)==0):
            flag=flag<<1
        
        res=0
        res2=0
        #分组进行异或操作--分治思想:
        for i in array:
            if i&flag:
                res=res^i
            else:
                res2=res2^i
        
        if res<res2:
            return [res,res2]
        else:
            return [res2,res]
        # write code here

全部评论

相关推荐

11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务