@XQF
2018-03-07T22:56:02.000000Z
字数 860
阅读 1513
数据结构与算法
[TOC
但是基本不这样考虑,因为不知道给出的数具体有多大,。,。假如是1000000000,。,
public class Solution {
public int findMostFrequenceyInArray(int[] nums) {
if (nums == null || nums.length == 0) {
return 0;
}
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
Set<Integer> keySet = map.keySet();
if (!keySet.contains(nums[i])) {
map.put(nums[i], 1);
} else {
map.put(nums[i], map.get(nums[i]) + 1);
}
}
//遍历map,之前不怎么用
Iterator iterator = map.entrySet().iterator();
int max = 0;
int result = 0;
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
int key = (int) entry.getKey();
int value = (int) entry.getValue();
System.out.println("key: " + key + " " + "value: " + value);
if (value > max) {
max = value;
result = key;
}
}
return result;
}
public static void main(String[] args) {
Solution solution = new Solution();
int[] nums = {1, 1, 1, 2, 3, 3, 3, 3, 3, 4, 4};
System.out.println(solution.findMostFrequenceyInArray(nums));
}
}