解析:该题目可以用mapreduce的wordcount思想做,就是存储键、值对,键存数字,值存该数字出现的次数,当然需要用一个变量记住出现次数超过一半的数了,说完了,开始撸起袖子干了。

    public static int findAppearMoreThanHalf(int [] arr){int num=0;//存储出现次数超过一半的数Map<Integer,Integer> map = new HashMap<>();for(int i:arr){if(!map.containsKey(i)){//不包含该数,第一次出现map.put(i,1);}else {int n=map.get(i);n++;//出现过了的就取出+1,再放回去map.put(i,n);if(n>(arr.length/2)){//出现次数超过一半的话num=i;}}}return num;}

《编程题》找出数组中出现次数超过一半的数(时间复杂度O(n),空间复杂度为O(1))相关推荐

  1. 找出数组中出现次数超过一半的数

    算法--找出数组中出现次数超过一半的数      每当我看到经典的算法题,就怀念高中,感觉很多算法题就是高中的题目,谁叫哥只读了个专科,高数基本相当没学.      有空要看看高数啊,想当年数学那是相 ...

  2. 用Python找出数组中出现次数超过一半的数

    数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. 计数+比较 不考虑效率,采用最简单的办法,遍历数组,使用 List 的 count() 方法统计元素出现的次数: def more_th ...

  3. 快速找出数组中出现次数超过一半的数字

    "只要不是特别大的内存开销,时间复杂度比较重要.因为改进时间复杂度对算法的要求更高." --吴斌(NVidia,Graphics Architect) 同样是查找,如果是顺序查找需 ...

  4. 利用HashMap找出数组中出现次数最多的元素及其次数

    我在牛客网上刷题时遇到了这道题目,因为初学Java不久,对Java的应用还不熟悉,刚开始用C语言做没做出来(我太菜了...),接着百度发现竟然可以用HashMap做,仔细一想发现这真是一个好办法(为什 ...

  5. java数组出现次数最多的数_找出数组中出现次数最多的那个数——主元素问题...

    方法一:以空间换时间,可以定义一个计数数组int count[101],用来对数组中数字出现的次数进行计数(只能针对数组中数字的范围1~100),count数组中最大的元素对应的下标,即为出现次数最多 ...

  6. 找出数组中第k大小的数,输出数所在的位置

    找出数组中第k大小的数,输出数所在的位置 /*写一段程序,找出数组中第k大小的数,输出数所在的位置.例如{2,4,3,4,7}中,第一大的数是7,位置在4. 第二大.第三大的数都是4,位置在1.3随便 ...

  7. 找出数组中第k大的数

    给定一个数组,找出数组中第k大的数.其实现代码如下: package com.threeTop.www;/*** 找出数组中第k大的数* @author wjgs**/ public class Fi ...

  8. Java找出数组中第K大的数

    题目描述 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5 ...

  9. 28 数组中出现次数超过一半的数MoreThanHalfNum输入一个一维数组

    题目:数组中出现次数超过一半的数 要求:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超 ...

最新文章

  1. 企业云桌面-07-安装虚拟机-001-Win701
  2. mysql againts函数_MariaDB / MySQL TO_SECONDS和AGGREGATE函数
  3. MathType中的一些精彩技巧
  4. HDU 1559 最大子矩阵
  5. centos7 修改默认yum源为国内的阿里云
  6. 《TensorFlow深度学习应用实践》学习笔记1
  7. 判断单链表是否中心对称算法
  8. 最新免费ip代理分享
  9. 联想服务器自动关机_联想电脑老是自动关机怎么回事
  10. 零基础该如何学好3D建模,学些什么,达到什么标准才能入行?
  11. mysql int 时间戳转换_MySQL时间戳相互转换
  12. linux静默安装oracle11g数据库教程
  13. 英语单词:flight; fly
  14. 现在有很多第三方的SDK来做直播,那么我们改选择哪一种?
  15. sql注入--POST注入
  16. 【电磁】基于matlab求解瞬变电磁TEM层状介质正演【含Matlab源码 2164期】
  17. 网络工程与组网技术——第一讲
  18. 【Centos各版本下载地址7.6,7.5】
  19. 深入剖析!关于手机锂电池充电的知识
  20. 山东自考c语言程序设计停考了吗,2019山东自考停考专业有哪些

热门文章

  1. C++ map 使用详解(含C++20新特性)
  2. C++学习笔记:(一)面向对象 类与对象
  3. 01.elasticsearch metric aggregation 查询
  4. 蓝桥练习-算法训练 素因子去重
  5. L1-005 考试座位号 (15分) C语言实现(18行代码AC!)
  6. NIO Buffer
  7. linux完整面授视频,Linux面授实战
  8. linux c语言 信号,linux下基于C语言的信号编程实例
  9. 操作篇 DHCP协议学习与应用
  10. aes 加密_Jmeter处理AES加密接口