剑指offer——数组中只出现一次的两个数字

这是一个编程问题,要求在给定的整型数组中找出仅出现一次的两个数字。解决方案利用了Python的字典数据结构,通过遍历数组,将每个元素作为键并记录其出现次数。之后,遍历字典找到值为1的键,即为只出现一次的数字,并将其添加到结果列表中。最后返回这个列表。
摘要由CSDN通过智能技术生成

题目描述

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


#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param array int整型一维数组 
# @return int整型一维数组
#
#python 利用字典解决
class Solution:
    def FindNumsAppearOnce(self , array ):
        # write code here
        d = {}
        #{}代表dict字典数据类型,字典是Python中唯一内建的映射类型。字典中的值没有特殊的顺序,但都是存储在一个特定的键(key)下。
        li = []
        #[]代表list列表数据类型,列表是一种可变序列
        for i in range(len(array)):
            d[array[i]] = d.get(array[i], 0) + 1
            #dict.get(key, default=None)
            #key -- 字典中要查找的键。
            #default -- 如果指定键的值不存在时,返回该默认值。
        for key, value in d.items():
            if value == 1:
                li.append(key)
        return li

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值