LintCode 550. 最常使用的K个单词II(自定义set(可修改数据的优先队列) + map)
生活随笔
收集整理的這篇文章主要介紹了
LintCode 550. 最常使用的K个单词II(自定义set(可修改数据的优先队列) + map)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 題目
在實時數(shù)據(jù)流中找到最常使用的k個單詞.
實現(xiàn)TopK類中的三個方法:
- TopK(k), 構(gòu)造方法
- add(word), 增加一個新單詞
- topk(), 得到當(dāng)前最常使用的k個單詞.
2. 解題
- 優(yōu)先隊列,修改內(nèi)部數(shù)據(jù)很麻煩,利用set,自定義其排序規(guī)則
- 遇到要更新的數(shù)據(jù),先刪除舊的數(shù)據(jù),再插入更新的
- 遇到兩點需要注意的,比較操作,必須const,查找存在,不能count,可能是因為自定義 set 的原因。
100% 數(shù)據(jù)通過測試
總耗時 1314 ms
您的提交打敗了 37.80% 的提交!
總結(jié)
以上是生活随笔為你收集整理的LintCode 550. 最常使用的K个单词II(自定义set(可修改数据的优先队列) + map)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员面试金典 - 面试题 02.05.
- 下一篇: LeetCode 60. 第k个排列(回