转载请注明作者和出处:https://blog.csdn.net/qq_28810395
运行平台: Windows 10
LeetCode官网:Fhttps://leetcode-cn.co

一、只出现一次的数字 III

  给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。:

进阶:你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?

1.示例 1:

输入:nums = [1,2,1,3,2,5]
输出:[3,5]
解释:[5, 3] 也是有效的答案。

2.示例 2:

输入:nums = [-1,0]
输出:[-1,0]

3.示例 3:

输入:nums = [0,1]
输出:[1,0]

4.提示:

  • 2 <= nums.length <= 3 * 104
  • -231<= nums[i] <= 231-1
  • 除两个只出现一次的整数外,nums 中的其他数字都出现两次

二、解答思路

  1. 利用Counter对列表中的数字出现次数进行统计;
  2. 将其中出现次数为1的数字记录并存储;
  3. 输出。

三、解答

class Solution:def singleNumber(self, nums: List[int]) -> List[int]:#存放结果的列表result=[]#统计nums中每个数字出现的频率次数frequence= Counter(nums)#将其中数字出现为一次的进行appendfor number, count in  frequence.items():if count==1:result.append(number)return result

四、笔记记录

python3 Counter类(计数器)

  Counter(计数器):用于追踪值的出现次数
  Counter类继承dict类,所以它能使用dict类里面的方法

  1. 创建一个Counter类

    import collections
    obj = collections.Counter('aabbccc')
    print(obj)#输出:Counter({'c': 3, 'a': 2, 'b': 2})
    
  2. elements()

    import collections
    obj = collections.Counter('aabbccc')
    print(sorted(obj.elements()))#输出:['a', 'a', 'b', 'b', 'c', 'c', 'c']for k in obj.elements():   #遍历打印obj所有元素print(k)
    
  3. most_common(指定一个参数n,列出前n个元素,不指定参数,则列出所有)

    import collections
    obj = collections.Counter('aabbbcccc')
    print(obj.most_common(2))#输出:[('c', 4), ('b', 3)]
    
  4. items(从dict类中继承的方法)

    import collections
    obj = collections.Counter('aabbbcccc')
    print(obj.items())for k,v in obj.items():print(k,v)#输出:dict_items([('b', 3), ('c', 4), ('a', 2)])
    #     b 3
    #     c 4
    #     a 2
    
  5. update(增加元素)

    import collections
    obj = collections.Counter(['11','22'])
    obj.update(['22','55'])
    print(obj)#输出:Counter({'22': 2, '11': 1, '55': 1})
    
  6. subtract(原来的元素减去新传入的元素)

    import collections
    obj = collections.Counter(['11','22','33'])
    obj.subtract(['22','55'])
    print(obj)#输出:Counter({'11': 1, '33': 1, '22': 0, '55': -1})
    

四、参考信息

[1]https://leetcode-cn.com/problems/single-number-iii/solution/zhi-chu-xian-yi-ci-de-shu-zi-iii-by-leet-4i8e/

LeetCode每日一题——只出现一次的数字 III相关推荐

  1. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  2. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

  3. LeetCode每日一题——1758. 生成交替二进制字符串的最少操作数

    LeetCode每日一题系列 题目:1758. 生成交替二进制字符串的最少操作数 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个仅由字符 '0' 和 '1' ...

  4. 【LeetCode每日一题】810. 黑板异或游戏

    [LeetCode每日一题]810. 黑板异或游戏 题目: 黑板上写着一个非负整数数组 nums[i] .Alice 和 Bob 轮流从黑板上擦掉一个数字,Alice 先手.如果擦除一个数字后,剩余的 ...

  5. leetcode每日一题--前缀树;前缀哈希;深搜;面试题 08.04. 幂集;648. 单词替换面试题 01.09. 字符串轮转;剑指 Offer II 062. 实现前缀树

    leetcode每日一题 ps:今天的每日一题没意思,简单的模拟,自己换一道 面试题 08.04. 幂集 幂集.编写一种方法,返回某集合的所有子集.集合中不包含重复的元素. 说明:解集不能包含重复的子 ...

  6. LeetCode 每日一题 42. 接雨水 详细多种题解 C++描述

    LeetCode 每日一题 42. 接雨水 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,一起加油吧~ 难度 困难 2020.04.04每日一题 ...

  7. leetcode每日一题·买卖股票问题(Python)

    leetcode每日一题·买卖股票问题(Python) 买卖股票的最佳时机(股票最大利润) 题目链接 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的 ...

  8. LeetCode每日一题——792. 匹配子序列的单词数

    LeetCode每日一题系列 题目:792. 匹配子序列的单词数 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给定字符串 s 和字符串数组 words, 返回 w ...

  9. LeetCode每日一题之排列硬币

    前言: 大家好,今天是LeetCode每日一题的第十天,,给大家分享的是排列硬币,难度系数两颗星!废话不多说,先上题目! 1.1 题目要求 题目类型:排列硬币 题目内容: 总共有n枚硬币,将它们摆成一 ...

  10. LeetCode每日一题——1684. 统计一致字符串的数目

    LeetCode每日一题系列 题目:1684. 统计一致字符串的数目 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个由不同字符组成的字符串 allowed ...

最新文章

  1. 二叉树的基本特性和二叉树的几种基本操作的机制_笃学不倦|二叉树(一)
  2. 【SpringCloud】高可用Eureka
  3. mysql导入数据表大小限制,解除phpMyAdmin导入大型MySQL数据库文件大小限制
  4. Linux 源代码在线(http://lxr.linux.no/linux/)。
  5. 四因素三水平正交试验表_测试用例设计方法(二)——正交实验法
  6. C语言丨比较浮点数的大小
  7. Scala具体解释---------数组、元组、映射
  8. Spark大数据-TMDB电影数据分析(spark-scala版)
  9. 生成QQ/MSN/旺旺/SKYPE等在线状态图标
  10. 看服务器硬盘序列号,获得服务器硬件信息(CPUID、硬盘号、主板序列号、IP地址等)...
  11. Ubuntu 19.04 磁盘加密
  12. 甲骨文大裁员,竟是因为它?
  13. mac 教程 终端设置代理
  14. POI和POI-TL操作Word
  15. centos8之systemd管理服务开机自启动
  16. android+高德地图教程,Android高德地图开发(三)地图简单操作
  17. Python编写的客户端给服务器发送指令执行相应的命令并返回结果
  18. 完全用计算机制作的三维动画,一种用一台个人电脑制作高质量三维机械仿真动画的方法...
  19. 【BigHereo 37】---L10---C++真题之 代码填空
  20. babylonjs 分部加载模型_初学WebGL引擎-BabylonJS:第2篇-基础模型体验

热门文章

  1. Win32汇编学习笔记(罗云彬)(一)
  2. IE下AJAX请求只有一次
  3. 快速入门Treap(代码实现)
  4. Secret 的使用场景 - 每天5分钟玩转 Docker 容器技术(109)
  5. linux 搭建LAMP平台手册
  6. Silverlight5 RC调用Win32API
  7. 如何看待绿色数据中心
  8. 谷歌推出3D社区“Lively” 挑战第二人生(组图)
  9. pyqt5-两个窗口之间相互显示隐藏
  10. reids高可用(灾难备份-持久化)