comparator
我要上岸!!!
这个作者很懒,什么都没留下…
展开
-
LintCode 486 Merge k Sorted Arrays
思路 要求时间复杂度O(N logk) 使用priorityqueue组成最小堆。堆的大小为k,首先将所有数组的第一个元素放进去,需要记录下是哪一个数组的第几个元素。然后每次从pq中拿出最小的元素加入答案序列,然后根据拿出来的那个元素的row和col,将与其同数组的下一个元素加入pq,保证pq的大小始终是k。 【实现:可以新建一个class去存储每一个元素所在的row,col和val,然后对于pq...原创 2019-03-14 08:31:21 · 251 阅读 · 0 评论 -
LeetCode 692 Top K Frequent Words
思路 自定义类Pair用于存储String和对应的出现次数。首先遍历一遍所有字符串,将所有字符串和其出现次数先存储在一个hashmap中;然后遍历整个hashmap,在创建pair的同时将其插入一个priority queue中(最小堆);最后将pq中的所有元素poll出来,然后做一个逆序后输出即可。 【需要自定义优先队列的比较器,因为参与排序的键有2个:freq和str的顺序。其中freq是越高...原创 2019-03-13 13:19:23 · 149 阅读 · 0 评论