0

このような for ループを実行できることはわかっています (コードを参照)。同じ方法で配列に追加することもできますが、もっと簡単な方法はありますか。配列を練習したいので、他のJava APIを使用したくありません。ハッシュ関数を使用すると、変数をすばやく保存して、特定の単語をすばやく見つけることができますか?

編集:問題は、10,000語以上を使用すると遅延が1msを超えることです

ありがとう :)

int count = 0;
for(int i = 0; i < array.length; i++)
    if(array[i].equals(word)) 
        count++;
4

3 に答える 3

1

配列を事前に並べ替えてから、バイナリチョップ検索を使用できます。これは、多くの単語を探している場合にのみ役立ちます。

他の構造を許可すると、通常はO(1)ルックアップ時間を達成できます。

于 2014-11-19T16:30:52.197 に答える
1

2 次元配列を使用できます。

配列 [アルファベット] [そのアルファベットで始まる単語]

于 2014-11-19T16:29:39.500 に答える
0

10,000 ワードを処理するたびに、多少の遅延が予想されます。設定されている単語によっては、もう少しうまくフィルタリングできるかもしれませんが、コードが示す限り、それが最善の方法です。

于 2014-11-19T16:29:13.403 に答える