剑指Offer39数组中出现次数超过一次的数组
Posted 小布丁value
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer39数组中出现次数超过一次的数组相关的知识,希望对你有一定的参考价值。
数组中出现次数超过一次的数组
public static int majorityElement(int [] nums){
Map<Integer, Integer> map = countNums(nums);
Map.Entry<Integer,Integer> majorityEntry = null;
for(Map.Entry<Integer,Integer> entry:map.entrySet()){
if(majorityEntry==null||entry.getValue()>majorityEntry.getValue()){
majorityEntry=entry;
}
}
return majorityEntry.getKey();
}
public static Map<Integer,Integer> countNums(int [] nums){
Map<Integer,Integer> map=new HashMap<>();
for(int num:nums){
if(!map.containsKey(num)){
map.put(num,1);
}else{
map.put(num,map.get(num)+1);
}
}
return map;
}
确实有点低级,后面补充
以上是关于剑指Offer39数组中出现次数超过一次的数组的主要内容,如果未能解决你的问题,请参考以下文章