545.Top k Largest Numbers II
1.Description(Medium)
Implement a data structure, provide two interfaces:
add(number). Add a new number in the data structure.topk(). Return the top _k _largest numbers in this data structure. _k _is given when we create the data structure.
Example
s = new Solution(3);
>>create a new data structure.
s.add(3)
s.add(10)
s.topk()
>> return [10, 3]
s.add(1000)
s.add(-99)
s.topk()
>>return [1000, 10, 3]
s.add(4)
s.topk()
>> return [1000, 10, 4]
s.add(100)
s.topk()
>> return [1000, 100, 10]2.Code
本题目要建立一个PriorityQueue.
最后Collections.sort(result, Collections.reverseOrder()); 去逆向排序一个arraylist.
Last updated
Was this helpful?