剑指offer-python

【面试题】数组中只出现一次的数字

2018-06-20  本文已影响0人  fighting_css

【题目描述】
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
【思路】
采用字典结构,一一配对消除,剩下的便是只出现一次的数字
【代码】

class Solution:
    # 返回[a,b] 其中ab是出现一次的两个数字
    def FindNumsAppearOnce(self, array):
        # write code here
        if not array:
            return
        if len(array)<2:
            return
        count_map = {array[0]:1}
        for i in range(1,len(array)):
            if count_map.has_key(array[i]):
                count_map.pop(array[i])
            else:
                count_map[array[i]] = 1
        return count_map.keys()
上一篇 下一篇

猜你喜欢

热点阅读