劍指offer——python【第40題】數組中只出現一次的數字


題目描述

一個整型數組里除了兩個數字之外,其他的數字都出現了偶數次。請寫程序找出這兩個只出現一次的數字。

思路

和那道字符串里面第一次出現唯一字符的題目類似,使用count計數方法;另外百度了一下發現還可以用collections模塊的Counter方法,把列表值和對應的個數組成一個字典

 方法一:

class Solution:
    # 返回[a,b] 其中ab是出現一次的兩個數字
    def FindNumsAppearOnce(self, array):
        # write code here
        targets = []
        for num in array:
            if array.count(num)==1 and num not in targets:
                targets.append(num)
        return targets

方法二:

import collections
class Solution:
    # 返回[a,b] 其中ab是出現一次的兩個數字
    def FindNumsAppearOnce(self, array):
        # write code here
        targets = []
        dic = collections.Counter(array)
        for key,value in dic.items():
            if value < 2:
                targets.append(key)
        return targets

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM