zoukankan      html  css  js  c++  java
  • 剑指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
    人生苦短,何不用python
  • 相关阅读:
    hibernate 映射<二>一对一主键关联
    C# Convert Type to T
    008 OS模块
    001基础知识补充与拓展
    005Buffer(缓冲区)
    009path模块
    002nodejs简介与安装
    007http模块
    004NPM包管理器
    003nodejs的模块化
  • 原文地址:https://www.cnblogs.com/yqpy/p/9569328.html
Copyright © 2011-2022 走看看