私は最近、このインタビューの質問に出くわしました:
Given a continuous twitter feed, design an algorithm to return the 100 most
frequent words used at this minute, this hour and this day.
word -> count
現在の分、時間、日の 3 分ヒープにリンクされたハッシュ マップを持つシステムを考えていました。
すべての受信メッセージはトークン化され、サニタイズされ、単語数がハッシュ マップで更新されます (単語が既にヒープに存在する場合は、ヒープ内のキーが増加します)。
単語のいずれかがヒープに存在しない場合 (およびヒープ サイズ == 100) は、それらfrequency > min value
がヒープに存在するかどうかを確認し、存在する場合は抽出分をヒープに挿入します。
これを行うより良い方法はありますか?