zoukankan      html  css  js  c++  java
  • 数组中只出现过一次的数字 牛客网 剑指Offer

    数组中只出现过一次的数字 牛客网 剑指Offer

    • 题目描述
    • 一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。
    
        def FindNumsAppearOnce(self, array):
            if array == None or len(array) <= 0:
                return []
            resultExOr = self.ExOr(array)
            i = 0
            while resultExOr and i <= 32:
                i += 1
                resultExOr = resultExOr>>1
            num1, num2 = [], []
            for num in array:
                if self.bitIs1(num, i):
                    num1.append(num)
                else:
                    num2.append(num)
            first = self.ExOr(num1)
            second = self.ExOr(num2)
            return [first, second]
    
        def ExOr(self, aList):
            ExOrNum = 0
            for i in aList:
                ExOrNum = ExOrNum ^ i
            return ExOrNum
            
        def bitIs1(self, n, i):
            n = n >> (i-1)
            return n & 1
  • 相关阅读:
    基础GIT命令
    初始继承和多态。
    Servlet随笔
    初识springboot
    HBase JavaAPI
    HBase安装
    使用Eclipse来操作HDFS的文件
    hadoop常用命令
    Eclipse集成Hadoop插件
    Hadoop集群测试wordcount程序
  • 原文地址:https://www.cnblogs.com/vercont/p/10210376.html
Copyright © 2011-2022 走看看