Недавно я наткнулся на этот вопрос из интервью:
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
в куче, и если да, то извлеките -мин и вставьте в кучу.
Есть ли лучшие способы сделать это?