如何获取数组中出现次数最多的数
public class Solution {
/**
* @param array: An array.
* @return: An integer.
*/
public static int findNumber(int[] array) {
Map<Integer, Integer> counter = new HashMap<>();
int length = array.length;
int answer = 0;
int maxNumber = 0;
for (int i = 0; i < length; i++) {
if (!counter.containsKey(array[i])) {
counter.put(array[i], 1);
} else {
counter.put(array[i], counter.get(array[i]) + 1);
}
if (counter.get(array[i]) > maxNumber) {
maxNumber = counter.get(array[i]);
answer = array[i];
} else if (counter.get(array[i]) == maxNumber && array[i] < answer) {
answer = array[i];
}
}
System.out.println(answer);
return answer;
}
public static void main(String[] args) {
int array[]={1,1,2,2,3,3,3};
findNumber(array);
}
}