题目描述:

分析:由题目可知这个数组不为空且该主元素一定存在,我选用HashMap来存储,HashMap的存储结构是”键—值对“,”键“用来存储数组元素,”值“用来存储这个元素出现的次数,然后循环遍历这个HashMap,当发现有一个”键“对应的”值“大于数组元素个数的二分之一时,将这个”键“返回。

代码:

 public class Solution {
/*
* @param nums: a list of integers
* @return: find a majority number
*/
public int majorityNumber(List<Integer> nums) {
// write your code here
HashMap<Integer,Integer> h = new HashMap<Integer,Integer>(); int major = 0; for(int i=0; i<nums.size(); i++) {
//如果该元素已存在HashMap之中
if(h.containsKey(nums.get(i))) {
//将元素个数取出,并加1,再存回去
int num = h.get(nums.get(i));
num += 1;
h.put(nums.get(i), num);
}else {
h.put(nums.get(i), 1);
}
} int mid = nums.size()/2; for(int i=0; i<nums.size(); i++) {
if(h.get(nums.get(i)) > mid) {
major = nums.get(i);
break;
}
}
return major;
}
}

最新文章

  1. 2016福州大学软件工程第二次团队作业——预则立&amp;&amp;他山之石成绩统计
  2. WPF界面布局——各种控件
  3. 关于C# Winform DataGridView 设置DefaultCellStyle无效的原因与解决方案
  4. sharepoint2010如何本地化WebPart的Category、WebDisplayName 和 WebDescription 属性
  5. php实现发送邮件
  6. linux下vi操作出现E325: ATTENTION的解决方法
  7. Linux cscope命令
  8. hdoj-2025a
  9. lintcode 中等题:kth-largest-element 第k大元素
  10. hql注意事项一
  11. 用Filezilla往ubuntu虚拟机上传文件
  12. Eclipse 经验之谈(一):快速打war包
  13. 浅谈web前端就业的学习路线
  14. .net通用权限框架B/S(二) 数据库设计
  15. bootstrap基础知识点YI
  16. java读取txt文件内容
  17. Jquery($第一天)【历史】
  18. ●BZOJ 2007 NOI 2010 海拔
  19. 开发环境中Docker的使用
  20. SQL-55 分页查询employees表,每5行一页,返回第2页的数据

热门文章

  1. 应用安全 - 渗透测试 - .net网站
  2. IDEA开发环境设置
  3. windows10配置Docker容器独立IP地址互相通信
  4. Redis基础都不会,好意思出去面试?
  5. 7、 正则化(Regularization)
  6. Webpack4、iView、Vue开发环境的搭建
  7. python学习第四十六天dir( )函数用法
  8. 问题 B: 傻鸡抓大闸蟹
  9. Photoshop制作Android UI:怎样从大图片中准确剪切出圆角正方形 图片
  10. 《快学scala》读书笔记(1)