169. Majority Element
2016-02-25 19:03
232 查看
public class Solution { public int majorityElement(int[] nums) { HashMap<Integer, Integer> elementNum = new HashMap(nums.length/2); for (int element : nums) { if (elementNum.containsKey(element)) { elementNum.put(element, elementNum.get(element)+1); } else { elementNum.put(element, 1); } } Set<Map.Entry<Integer, Integer>> set = elementNum.entrySet(); Iterator<Map.Entry<Integer, Integer>> iter = set.iterator(); while (iter.hasNext()) { Map.Entry<java.lang.Integer, java.lang.Integer> entry = (Map.Entry<java.lang.Integer, java.lang.Integer>) iter .next(); if (entry.getValue()>nums.length/2) { return entry.getKey(); } } return 0; } }
解法二:
public class Solution { public int majorityElement(int[] nums) { if (nums.length == 1) { return nums[0]; } int[][] keyValue = new int[nums.length][2]; int sumDiffNum = 0,stus = 0; for (int i = 0; i < nums.length; i++) { stus = 0; for (int j = 0; j < sumDiffNum+1; j++) { if (nums[i]==keyValue[j][0]) { keyValue[j][1]++; stus = 1; break; } } if (stus == 0) { keyValue[sumDiffNum][0] = nums[i]; keyValue[sumDiffNum][1] = 1; sumDiffNum++; stus = 0; } } for (int i = 0; i < sumDiffNum+1; i++) { if (keyValue[i][1]>nums.length/2) { return keyValue[i][0]; } } return nums[0]; } }
相关文章推荐
- delphi指针简单入门
- 为什么jdbctemplate是线程安全的
- java项目中使用Sigar获取系统信息
- 自定义ListView item包含checkbox实现单选和多选
- 高通平台手机开发之刷机包脚本
- Delphi 能不能从Ring 3进入Ring 0
- spring框架获取原型对象
- EJB是什么
- bzoj 2242 [SDOI2011]计算器(数论知识)
- Linux netstat命令详解
- 精密测量常用方式
- maven 命令
- Android逆向分析基础-Dalvik虚拟机
- 有两个变量a和b,不用if等判断语句,求两者较大的值
- Android进阶——安卓调用ESC/POS打印机打印
- 改变TPageControl的活动标签颜色
- 【转】Qt Socket简单通信
- android:使用gallery和imageSwitch制作可左右循环滑动的图片浏览器
- android的类很多,需要经常查看这些API
- ElasticSearch 2 (8) - 概览与简介