Originariamente inviato da John360
però il codice mi sembra un po pesante... come avreste fatto voi?
(non sto chiedendo di farmi l'esercizio eh! l'ho fatto gia!)
Così:
codice:
public static int moda(int A[]){
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
int moda = 0;
for(int e : A){
map.put(e, (map.get(e) == null ? 1 : map.get(e) + 1 ) );
if( map.get(moda) == null || map.get(e) > map.get(moda) )
moda = map.get(e);
}
return moda;
}
Però dovresti definire un qualcosa di più generico, ad esempio:
codice:
public static Object moda(Object A[])
oppure ricorrendo all'uso dei Generics.