インタビューで質問されました。インタビュアーは、特定の文書の次の単語を返す getNextWord() という関数が存在すると仮定するように私に言いました。私の仕事は、タスクを実装するためのデータ構造を設計し、すべての単語とその頻度のリストを構築するアルゴリズムを提供することでした。
C++ の背景を持つ私の答えは、multimap
ofを作成し、string
その中にすべての単語を挿入し、後で of を表示するcount
ことでした。ただし、後で、これをより一般的な方法で行うように言われました。ジェネリックとは、彼が私にライブラリ機能を使用させたくないという意味でした。また、マルチマップは 2-3 ツリー程度として内部的に実装されていると思います。そのため、マルチマップ ソリューションを汎用にするためには、2-3 ツリーもコーディングする必要があります。
トライは思いつきましたが、面接中にそれを実行することは私にとって問題外でした。それで、それを達成するためのより良い方法があるかどうか知りたかっただけですか?または、試行を使用してスムーズに実装する方法はありますか?