【初心者】Java の宿題ここで答えます 5.0【歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0815デフォルトの名無しさん
05/03/15 20:03:56最頻値を昇順に格納した配列を返す
import java.util.*;
double[] mode(double[] ary){
HashMap map = new HashMap();
for(int i = 0 ; i < ary.length ; i++){
Object key = new Double(ary[i]);
if(!map.containsKey(key)){
map.put(key, new Integer(1));
}
else{
int value = ((Integer)map.get(key)).intValue();
map.put(key, new Integer(++value));
}
}
int maxCount = 0;
ArrayList list = new ArrayList();
Iterator ite = map.keySet().iterator();
while(ite.hasNext()){
Object key = ite.next();
int count = ((Integer)map.get(key)).intValue();
if(count > maxCount) {
maxCount = count;
list.clear();
list.add((Double)key);
}
else if(count == maxCount){
list.add((Double)key);
}
}
■ このスレッドは過去ログ倉庫に格納されています