LeetCode-Merge K Sorted Lists 解题思路 - sbw Blog

LeetCode-Merge K Sorted Lists 解题思路

来源: sbw Blog | 浏览: 1571 | 评论: 2 发表时间: 2019-08-09

“Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.”——这是 LeetCode 上的一道 Hard 级别的题,是说将多个已经排序的有序序列合并成一个大的有序序列。使用优先队列的方式完成了这个题目,时间应该是 O(nm)。



解题思路

主要考虑的方向当然是怎么利用多个序列已经排好序这个特点,所以先把每个 List 的头拿出来放在队列中。每次都取出最小值并把这个子序列的下一个值加入队列中,循环操作直到所有的队列都被处理完。


C++ 解法


  • 声明: 评论属于其发表者所有,不代表本站的观点和立场.
  • foodtooth 回复该留言 时间: 2019-09-17

    Hi~C++11 priority_queue里push pop操作都是log(n)的吧?为啥最终会有O(nm)的复杂度呢?

已有 1 位网友发表了一针见血的评论,你还等什么?
  • 昵称: *
  • 邮箱:
  • 网址:
  • 记住我的信息
  • Color
  • Red
  • Blue
  • Code
  • bash
  • cpp
  • css
  • java
  • js
  • perl
  • php
  • python
  • ruby
  • sql
  • xml