题意
求数组的众数
思路
一次循环
map记录出现次数
并更新当前出现次数最多的值
知识
Map<Integer,Integer> hashMap=new HashMap<Integer,Integer>();
hashMap.put(var,hashMap.getOrDefault(var,0)+1);
代码
import java.util.HashMap;
import java.util.Map;
public class Solution {
public int MoreThanHalfNum_Solution(int [] array) {
Map<Integer,Integer> hashMap=new HashMap<Integer,Integer>();
int m=1,ans=array[0];
for(int var:array){
hashMap.put(var,hashMap.getOrDefault(var,0)+1);
if(hashMap.get(var)>m){
m=hashMap.get(var);
ans=var;
}
}
return ans;
}
}