Advance 3: Top K set 2 freq
Summary
此类问题最需要什么?
lookUp操作(排序property到element)
arbitrary access element(update/insert/delete)
同时整个set还是个sorted element基于该property(access, freq, etc)
所以思考逻辑如下,
对于第一个,因为你要update from value to freq(排序property)
因为value是没有什么sorted,所以会想到需要Map<value, freq>(为了安全你就使用Map<value, element>)
对于第二&三个,property为了可以拿到top K,你需要一个结构可以给你最大最小
想到了部分sorted,很自然想到treeSet<freq>(为了安全你就使用treeSet<element>)
这里如果没有arbitrary delete/update,可以用priorityQueue
同时可能用全部sorted,如果是某个顺序add(就是只add尾部)
所以第一反应应该是bucket list(based on value)
所以就用doubleLinkedList<element>
Top K frequent Elements
LRU
LFU
Cache
Last updated