数组中出现次数超过一半的数字

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。

import java.util.*;
public class Solution {public int MoreThanHalfNum_Solution(int[] array) {int len = array.length / 2;//定义一个HashMapMap<Integer, Integer> map = new HashMap<>();for (int i = 0; i < array.length; i++) {//map.put(key,value)在map中添加键值对(key,value)/*map.getOrDefault(key, 0);1.如果map中存在key,返回key对应的value2.如果map中不存在key,返回默认值0*/map.put(array[i], map.getOrDefault(array[i], 0) + 1);}Iterator iterator = map.entrySet().iterator();while (iterator.hasNext()) {Map.Entry entry = (Map.Entry) iterator.next();Integer key = (Integer) entry.getKey();Integer value = (Integer) entry.getValue();if (value > len)return key.intValue();}return 0;}
}

Java基础:HashMap的用法相关推荐

  1. Java基础-hashMap原理剖析

    Java基础-hashMap原理剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.什么是哈希(Hash) 答:Hash就是散列,即把对象打散.举个例子,有100000条数 ...

  2. Java基础 HashMap实现原理及方法

    1.什么是HashMap? HashMap通常提起他,我们想到的就是键值对方式存储(key-value型式),可以接收null键值和null值.基于Map接口的非同步实现(也就是线程不安全),并不保证 ...

  3. java中HashMap的用法

    重点介绍HashMap.首先介绍一下什么是Map.在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.在下文中会 ...

  4. ibatis中配置parameterClass=java.util.HashMap的用法

    引用:http://blog.163.com/gaoxp126@126/blog/static/28094398200743185151903/ 我们可以使用HashMap作为parameterCla ...

  5. Java基础 HashMap的添加 修改 遍历 Map.Entry Map.entrySet()的使用及实例

    Java Map Map中不能包含相同的键,每个键只能映射一个值. HashMap:并不能保证它的元素的顺序,元素加入散列映射的顺序并不一定是它们被迭代方法读出的顺序. Map.Entry Map.E ...

  6. Java基础-HashMap集合

    目录 一级目录 二级目录 三级目录 Map接口的常用方法 2.Map集合的遍历 第一种方式:获取所有的key,通过遍历key,来遍历value 3.哈希表数据结构 1.hashMap集合底层是哈希表/ ...

  7. Java 基础——HashMap 遍历方式

    目录 1.使用迭代器 (Iterator) EntrySet 的方式进行遍历 2.使用迭代器 (Iterator) KeySet 的方式进行遍历 3.使用 foreach EntrySet 的方式进行 ...

  8. string substring的用法_夯实Java基础系列3:一文搞懂String常见面试题,从基础到实战...

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  9. 【Java基础】HashMap原理详解

    [Java基础]HashMap原理详解 HashMap的实现 1. 数组 2.线性链表 3.红黑树 3.1概述 3.2性质 4.HashMap扩容死锁 5. BATJ一线大厂技术栈 HashMap的实 ...

  10. java基础学习——5、HashMap实现原理

    一.HashMap的数据结构 数组的特点是:寻址容易,插入和删除困难:而链表的特点是:寻址困难,插入和删除容易.那么我们能不能综合两者的特性,做出一种寻址容易,插入删除也容易的数据结构?答案是肯定的, ...

最新文章

  1. 1.3. Getting Started Guides
  2. linux 终端 渐变色,iOS开发——UI篇文字渐变效果:图层中的mask属性
  3. BlockChain:《Blockchain Gate》听课笔记——区块链构筑的比特世界 VS 现实的原子世界
  4. 怎么查看ftp服务器的版本信息,查看ftp服务器版本
  5. Spring Boot项目搭建易错注意事项
  6. linux 调优系列
  7. java移动端接口测试_借助Charles来测试移动端-下篇
  8. Vite 创建 vue3.x 项目
  9. webservice常见名词
  10. Mysql Cluster集群实现高可用
  11. ETL调度开发(5)——连接数据库运行数据库命令子程序
  12. mysql是应用软件还是系统软件_数据库管理系统属于应用软件吗?
  13. 企业沟通工具实现高效信息化沟通模式
  14. 2021年“泰迪杯”数据分析技能赛A题
  15. Java视频在线观看网址
  16. Ognl表达式(根据Apache-Ognl文档直译)
  17. c#调用microsoft word将word另存为pdf
  18. 微软Surface笔记本电脑进入bios界面
  19. feil_uVission4左侧工目录消失
  20. mysql1526_MySQL数据库插入数据出现 ERROR 1526 (HY000): Table has no partition for value xxx

热门文章

  1. Spring Clould负载均衡重要组件:Ribbon中重要类的用法
  2. Mac下Homebrew的图形化界面工具Cakebrew
  3. window 内核详尽分析
  4. 解决网络通信中外网和内网之间的通信问题(NAT转换)
  5. Form表单插件jquery.form.js
  6. Nutch2.1+mysql+solr3.6.1+中文网站抓取
  7. VS.NET安装部署深入研究
  8. 对齐方式有那些_字节对齐不慎引发的挂死问题
  9. android传输注册数据异常,android数据传值再获取的问题
  10. mysql 5.5.37 my.cnf,linux安装最新mysql5.5,my.cnf找不到解决办法