Problem
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
Idea
如果使用merge 2 sorted lists的方法会TLE,所以这次需要使用堆这个数据结构, 设有k个list, 堆的size O(k), 每次把所有lists的最小元素放入堆中,然后每次取出最小的元素,并把取出元素的下一个放入堆中。当所有元素都取完,则得到结果。
Note
C++中如何使用Heap
只有run一次 pop_head(), 那个堆顶的元素才会被放到back中去。
STL 重载的方法
Solution
No comments:
Post a Comment