以下の順序で同じ数字の出現数が最も多いのはどうすればわかりますか?リスト内の基数10の出現数を最も多く見つけ出す
1,5,4,3,2,5,3,1,5,3,7,5,7
この場合の答えは5
です。
私はリストに各数字を追加する方向に傾いていて、数字が既にリストにある場合は、カウンターを増分します。この方法では、私はそれぞれの番号のためのカウンターを持っている必要があると思う。人が理解するのが最も簡単な解決策は何ですか?この場合
私はこれが動作していない試みであるJavaの
を使用しています:ステフの答えを若干修正
が、これは動作します -
public class Main {
public static void main(String args[]){
int[] numbers = {1,5,4,3,2,5,3,1,5,3,7,5,7,7,7,7,7};
int[] counterArray = new int[numbers.length];
for (int i = 0; i < numbers.length; ++i){
counterArray[numbers[i]] = counterArray[numbers[i]] + 1;
}
int maxNumber = 0;
for (int i = 0; i < numbers.length; ++i){
if(counterArray[i] > counterArray[maxNumber])
{
maxNumber = i;
}
}
System.out.println(maxNumber);
}
}
あなたはどの言語を使用していますか? – Cyclonecode
エレガントな定義をしてください。より少ないスペース?計算時間がかかりますか?少ないソースコードですか?また、あなたの数字は小さいと思われますか? – thiton
私はjavaを使用していますが、擬似コードで十分です。エレガントなことは、人間がステップを理解するのは簡単だということです。 –