有一个数组,其中的数都是以偶数次的形式出现,只有一个数出现的次数为奇数次,要求找出这个出现次数为奇数次的数。

集合+统计

解题思路

最简单能想到的,效率不高。利用集合的特性,通过 Python 的 set() 函数筛选出数组中有哪些数,然后遍历集合,使用 List 的 count 方法统计集合中每个元素在数组中出现的次数,如果是奇数次则直接返回该数。

Python 实现

排序+遍历

解题思路

将数组从小到大排序,然后遍历数组,并对出现的数进行计数b,当出现不同的数时,判断上一个数出现次数是奇数还是偶数。

Python 实现

改进版本:

借用计数排序的思想,先找到数组中最大的元素,然后开辟一个新数组,原数组中每个元素的值即为新数组的下标,遍历原数组记录每个元素出现的次数,最后遍历新数组,找到奇数,返回其下标。

Map + 统计

解题思路

遍历数组记录出现次数先计数,并存储到 Map 中,再遍历 Map,找出 Map 中 value 为奇数的 key。

Python 实现

位运算

解题思路

巧妙地采用异或的特点进行处理,即整数 n 与 0 的异或结果为 n,整数 n 与 n 的异或结果为 0,异或运算满足交换律和结合律。即,所有出现偶数次的数异或的结果为 0,而对于出现次数为奇数次n的数,其出现的前 n-1 次异或的结果为 0,而 0 与其最后1次出现进行异或,得到该数本身。因此,可以很方便找出出现次数为奇数次的数。

Python 实现

转自:查找数组中出现奇数次的那个数字

数组中查找並返回数组_用Python查找数组中出现奇数次的那个数字相关推荐

  1. python开发的程序中以电子表格显示数据_使用 Python 读取电子表格中的数据实例详解...

    Python 是最流行.功能最强大的编程语言之一.由于它是自由开源的,因此每个人都可以使用.大多数 Fedora 系统都已安装了该语言.Python 可用于多种任务,其中包括处理逗号分隔值(CSV)数 ...

  2. python判断数组中是否存在重复元素_利用python查看数组中的所有元素是否相同

    不知道大家有没有过这种经历,就是想要判断两个数组运算后得到的新数组中的各个元素值是否相同.这里给出一种使用np.unique()的方法,代码如下:cbc免费资源网 import numpy as np ...

  3. python中wraps是什么意思_【Python】Flask中@wraps的使用

    先说总结,白话来讲,@wraps相当于是装饰器的装饰器. python内置的方法使用解释,看起很复杂的样子┓( ´∀` )┏ def wraps(wrapped, assigned = WRAPPER ...

  4. python 打印数组变量_使用Python将数组的元素导出到变量中(unpacking)

    下面就为大家分享一篇使用Python将数组的元素导出到变量中(unpacking),具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 最近工作中遇到一个问题,需要利用Python将数组(list ...

  5. 数组中查找並返回数组_java数组查找常见情况

    一.最简单的查找元素方法(依次比较):给一个数组,在数组里面查找某个元素在数组中的位置,并返回它的位置. public static void main(String[] args) {int arr ...

  6. 二分法查找是基于有序_利用二分法查找有序数组中是否含有给定Value

    //利用二分法查找有序数组中是否含有给定Value class AlgorithmByZXQ { /// /// 二分法查找数组中某一数值 /// /// /// /// /// /// public ...

  7. python数组的使用方法_使用Python记录数组的正确方法是什么

    我想将几个列表或数组组合成一个记录数组. "要在一个列b后面记录两个"数组.第一列将包含从"a"到"j"的字母,第二列将包含从0到9的数字I ...

  8. python 替换array中的值_利用Python提取视频中的字幕(文字识别)

    我的CSDN博客id:qq_39783601,昵称是糖潮丽子~辣丽 从今天开始我会陆续将数据分析师相关的知识点分享在这里,包括Python.机器学习.数据库等等. 今天来分享一个Python小项目! ...

  9. python中的列表和元组_百度资讯搜索_python中的列表和元组

    腾讯网 11小时前# 元组(tuple)是 Python 中另一个重要的序列结构,和列表类似,元组也是由一系列按特定顺序排序的元素组成.元组是一个有序列表,序列中的每个元素都分配一个数字(...百度快 ...

最新文章

  1. python判断 t1 树是否有与 t2 树拓扑结构完全相同的子树
  2. 卷积神经网络(CNN)模型结构
  3. java分布式api网管关,分布式04-Spring Cloud Zuul Api网关 一
  4. 精益质量管理中执行防错管理的八大要点
  5. 服务发现技术是如何演进出来的?
  6. 408计算机先学哪个,408计算机统考各科难度分析
  7. 晚安,2017。你好,2018。
  8. a5松下驱动器参数设置表_松下a5伺服参数设置详解
  9. 程序员眼中的古典名画
  10. 微信小程序 - 打开跳转 H5 网页链接(小程序内打开网页)
  11. Git:真实 merge
  12. 如何组建游戏制作团队?团队人员如何寻找?
  13. 二硫化钼量子点修饰纳米金棒/CdS纳米棒|二硫化钼量子点/g-C3N4复合光催化剂|马来酰亚胺修饰二硫化钼MoS2-MAL
  14. 带你初识JSP(JAVA服务器页面)
  15. Android 集成google map,Markers ,定位,聚合
  16. 基于收敛加密的文件所有权证明协议——毛峥
  17. 机器学习基础-方差 偏差
  18. 360强行卸载金山网盾 致大量用户系统异常
  19. PPT绘图笔记2:PPT导出图片结合ps处理图片
  20. 从零开始构建PHP版mud游戏(二)

热门文章

  1. Zookeeper之javaAPI的使用
  2. Element-ui学习笔记3--Form表单(二)
  3. MATLAB实例路径与安装路径
  4. 1501 二叉树最大宽度和高度
  5. IT十八掌作业_java基础第八天_多线程
  6. 一.jquery.datatables.js表格显示
  7. v-bind 中a标签的使用
  8. 十分钟看会laravel导入导出功能,就这么简单
  9. 古代password
  10. 《易学Python》——第6章 类与面向对象编程 6.1 类是什么