配列要素の頻度を探したい。繰り返しなしで配列要素の周波数を計算する
入力配列:
1,2,3,4,2,3,4,5,8
の予想される出力(桁周波数):
1 1
2 2
3 2
4 2
5 1
8 1
私のJavaコードは次のとおりです。のような
class Fre
{
public static void main(String ar[])
{
frequencycount(new int[]{1,2,3,3,2,1,1,1,5,6,5,8,9,6});
}
static void frequencycount(int x[])
{
int i=0;
int j=0;
int fr[]=new int[x.length];
for(i=0;i<fr.length;i++) {
fr[i]=0;
}
/////calculating frequency
for(i=0;i<digit.length;i++) {
for(j=0;j<digit.length;j++) {
if(x[i]==x[j]) {
fr[i]++;
}
}
}
for(i=0;i<fr.length;i++) {
System.out.println(x[i]+" "+fr[i]);
}
}
}//class
出力での問題は、それがされています配列要素を繰り返す。同様に:
digit frequency:
1 1
2 2
3 2
4 2
2 2
3 2
4 2
7 1
8 1
どのようにして配列の要素を繰り返すことなく、所望の周波数を得ることができますか?どんな助けもありがとう。
あなたは一意の値とは何か、既に一度カウントされた値に達すると何が起こるのか考えてみてください。 – nullpointer
私は 'x [i]'の代わりに 'i'を出力しなければならないと思います – 3stud1ant3
@ 3stud1ant3なぜですか? – user227666