集合框架的使用---Majority Number III
2016-01-27 14:09
239 查看
Given an array of integers and a number k, the majority number is the number that occurs more than 1/k of the size of the array.
Find it.
Have you met this question in a real interview? Yes
Example
Given [3,1,2,3,2,3,3,4,4,4] and k=3, return 3.
Note
There is only one majority number in the array.
Challenge
O(n) time and O(k) extra space
Find it.
Have you met this question in a real interview? Yes
Example
Given [3,1,2,3,2,3,3,4,4,4] and k=3, return 3.
Note
There is only one majority number in the array.
Challenge
O(n) time and O(k) extra space
public class Solution { /** * @param nums: A list of integers * @param k: As described * @return: The majority number */ public int majorityNumber(ArrayList<Integer> nums, int k) { // write your code int n = nums.size(); HashMap<Integer, Integer> map = new HashMap<Integer, Integer>(); for (int elem : nums) { if (map.containsKey(elem)) { map.put(elem, map.get(elem)+1); }//添加元素.........取值 else { map.put(elem, 1);//添加元素 } } for (int item : map.keySet()) { if (map.get(item) > n/k) { return item;//遍历 } } return -1; } }
相关文章推荐
- FPGA 四或门
- hdu1372 Knight Moves (BFS)
- 在整合springmvc+mybatis+ecache时候报错如下: Another unnamed CacheManager already exists in the same VM.
- 【UGUI】unity3D中ugui事件
- 双目测距与三维重建的OpenCV实现问题集锦(三)立体匹配与视差计算
- @property
- Java-正确使用equals和hashCode方法
- 关于安卓数据库操作
- js页面跳转整理
- XCTest单元测试(附简单测试代码)
- spring+memcache配置方式
- 编程题1
- 产品经理的浓缩总结--转载自http://www.chanpin100.com/archives/32854
- python文件操作
- 算法之美_源代码发布(4)
- 自定义Dialog
- scrollWidth,clientWidth,offsetWiddth,innerWinth 元素定位
- Shell 是个什么玩意
- 双目测距与三维重建的OpenCV实现问题集锦(二)双目定标与双目校正
- 使用yum提示Error: rpmdb open failed的解决方案