Somethingこの広告は、90日以上更新していないブログに表示しています。Contactswww.hackerrank.comシンプルなコンタクトリスト管理アプリケーションを作成する問題。以下のフォーマットの入力が与えられる。find)、オペレーションのパラメータ(文字列)となっている。場合は、コンタクトリストへパラメータ(名前)を追加、findの場合はコンタクトリストからパラメータの文字列で始まるコンタクトの総数を表示する。上記の入力の場合、実行結果は以下となる。20solution以下はrubyでの解。問題タイトルにあるように、トライ木のアルゴリズムを使って解いている。tree)とは、順序付き木の一種。あるノードの配下の全ノードは、自身に対応する文字列に共通するプレフィックス(接頭部)があり、ルート(根)には空の文字列が対応している。値は一般に全ノードに対応して存在するわけではなく、末端ノードや一部の中間ノードだけがキーに対応した値を格納している。2分探索木と異なり、各ノードに個々のキーが格納されるのではなく、木構造上のノードの位置とキーが対応している。Wikipediaまとめゴリ推しで解こうとしても、大抵の場合はテストケースがタイムアウトし、パスできないようになっている。トライ木を使えば高速にキー検索を行えるため、全てのテストケースをパスできた。実際にトライ木アルゴリズムを書いたのは初めてかもしれない。(1)はてなブログをはじめよう!tic40さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。