求解,java 数组问题 写一个方法 要求输入参数为一个整型数组 如:int number[]={2,4,1,5,2,4,9,7,8,2,5,2,6,1,9,2,4}要求打印出数组中出现次数最多的那个 数 如上中的 2 与出现的次数 如上数组中2出现了4次。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看我的:import java.util.*;public class MaxCount { public static int getMaxCountNumber(int[] numbers) { HashMap<Integer, Integer> hm = new HashMap<Integer, Integer>(); for (int n : numbers) { int oldCount = (hm.get(n) == null) ? 0 : hm.get(n); hm.put(n, oldCount + 1); } Set<Integer> keys = hm.keySet(); Iterator<Integer> itr = keys.iterator(); int maxCount = 0; int maxCountNumber = 0; while (itr.hasNext()) { int number = itr.next(); int count = hm.get(number); if (count > maxCount) { maxCount = count; maxCountNumber = number; } } return maxCountNumber; } public static void main(String[] args) { int[] number={2,4,1,5,2,4,9,7,8,2,5,2,6,1,9,2,4}; System.out.println(getMaxCountNumber(number)); }} private void test(){ int number[]={2,4,1,5,2,4,9,7,8,2,5,2,6,1,9,2,4,1,1} ; Map map = new HashMap(), mixMap = new HashMap(); int temp,count ,mixCount = 1; for(int i = 0 ; i < number.length ; i ++){ temp = number[i]; if(map.containsKey(temp)){ count = (Integer)map.get(temp); if(count >= mixCount){ mixCount = count; mixMap.put(mixCount, temp); } //多个数出现最多次数 if(count +1 == mixCount){ mixMap.put(mixCount, mixMap.get(mixCount) + "," + temp); } map.put(temp,count+1); }else { map.put(temp,1); } } System.out.println(mixMap.get(mixCount) + " " + mixCount+"次"); } 求数据结构高手,敏感词过滤,求个高性能算法。 请问下 在jdbc中 。Statement 的几个方法有什么区别? servlet乱码问题 菜鸟的俄罗斯方块有问题 类型转换问题 如何将String转换成StringBuffer? 请问..有什么办法让父类去调用子类的方法 多应用模块的Struts应用经常用到吗? JDK安装问题 JBuilder 的运行程序设置问题请熟悉的朋友进入 这个算法有点难!高手进来 java 与 网页的问题
public static int getMaxCountNumber(int[] numbers) {
HashMap<Integer, Integer> hm = new HashMap<Integer, Integer>();
for (int n : numbers) {
int oldCount = (hm.get(n) == null) ? 0 : hm.get(n);
hm.put(n, oldCount + 1);
}
Set<Integer> keys = hm.keySet();
Iterator<Integer> itr = keys.iterator();
int maxCount = 0;
int maxCountNumber = 0;
while (itr.hasNext()) {
int number = itr.next();
int count = hm.get(number);
if (count > maxCount) {
maxCount = count;
maxCountNumber = number;
}
}
return maxCountNumber;
} public static void main(String[] args) {
int[] number={2,4,1,5,2,4,9,7,8,2,5,2,6,1,9,2,4};
System.out.println(getMaxCountNumber(number));
}
}
private void test(){
int number[]={2,4,1,5,2,4,9,7,8,2,5,2,6,1,9,2,4,1,1} ;
Map map = new HashMap(), mixMap = new HashMap();
int temp,count ,mixCount = 1;
for(int i = 0 ; i < number.length ; i ++){
temp = number[i];
if(map.containsKey(temp)){
count = (Integer)map.get(temp);
if(count >= mixCount){
mixCount = count;
mixMap.put(mixCount, temp);
}
//多个数出现最多次数
if(count +1 == mixCount){
mixMap.put(mixCount, mixMap.get(mixCount) + "," + temp);
}
map.put(temp,count+1);
}else {
map.put(temp,1);
}
}
System.out.println(mixMap.get(mixCount) + " " + mixCount+"次");
}