欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python---一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。

程序员文章站 2022-03-08 15:37:28
...

这个题采用了哈希表的思想:

----------------------------------------------------------------------

一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。

直接将里面的每个数字映射到字典里,然后作为索引,出现次数作为值,最后取出值为一的索引值。
代码如下:

# -*- coding:utf-8 -*-
class Solution:
    # 返回[a,b] 其中ab是出现一次的两个数字
    def FindNumsAppearOnce(self, array):
        # write code here
        count = {}      # 建立字典
        for i in array:      #这里开始将数组中的不重复数字加入到字典中为键,出现次数作为值
            if i not in count:
                count[i] = 1
            else:
                count[i] += 1      
        ls = []
        for i in array:    #这里将值为1的键取出来,赋值给ls列表。
            if count[i] == 1:
                ls.append(i)
        return ls