美文网首页
数组中只出现一次的数字

数组中只出现一次的数字

作者: 而立之年的技术控 | 来源:发表于2019-12-23 13:27 被阅读0次
    微信图片_20191223132546.jpg
    class Solution:
        # 返回[a,b] 其中ab是出现一次的两个数字
        def FindNumsAppearOnce(self, array):
            # write code here
            if len(array)<2:
                return None
             
            res = None
            for num in array:
                if res == None:
                    res = num
                else:
                    res = res ^ num
            count = 0
            while res % 2 == 0:
                res = res >> 1
                count += 1
            mask = 1 << count
            
            first = None
            second = None
            for num in array:
                if mask & num == 0:
                    if first == None:
                        first = num
                    else:
                        first = first ^ num
                else:
                    if second == None:
                        second = num
                    else:
                        second = second ^ num
            return first, second
    

    相关文章

      网友评论

          本文标题:数组中只出现一次的数字

          本文链接:https://www.haomeiwen.com/subject/fquznctx.html