[LeetCode]合并K个排序链表(Merge k Sorted Lists)

news/2025/5/24 1:03:39

题目描述

合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。

示例:

输入:
[
1->4->5,
1->3->4,
2->6
]
输出: 1->1->2->3->4->4->5->6

ListNode数据结构

class ListNode {int val;ListNode next;ListNode(int x) {val = x;}
}

解决方法

相邻链表两两合并,两两合并详情见合并两个有序链表

    public ListNode mergeKLists(ListNode[] lists) {int interval = 1;while (interval < lists.length) {for (int i = 0; i < lists.length - interval; i += interval * 2) {lists[i] = merge2Lists(lists[i], lists[i + interval]);}interval *= 2;}return lists.length > 0 ? lists[0] : null;}public ListNode merge2Lists(ListNode l1, ListNode l2) {if (l1 == null)return l2;if (l2 == null)return l1;if (l1.val < l2.val) {l1.next = merge2Lists(l1.next, l2);return l1;} else {l2.next = merge2Lists(l1, l2.next);return l2;}}

时间复杂度: O(Nlogk),k是链表的数目

本文首发:https://lierabbit.cn/2018/09/...


https://dhexx.cn/news/show-4341673.html

相关文章

bzoj 1257

商最多有sqrt&#xff08;n&#xff09;个。 1 #include<iostream>2 #include<cstdio>3 #include<cstring>4 #include<algorithm>5 #define int long long6 using namespace std;7 int n,k;8 signed main()9 { 10 scanf("%lld%lld",&…

将opencv的imread()函数读取的图片用QLabel显示

switchPicture.py from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import * import numpy as np import cv2 import sysclass MyWidget(QWidget):def __init__(self, parent None):super().__init__(parent)self.setWindowTitle(self.tr(显示图片…

Python学习之路--递归

递归 定义&#xff1a;在函数中调用自己 #RecursionError: maximum recursion depth exceeded while calling a Python object 递归错误&#xff0c;超过递归最大深度 最大递归深度997&#xff0c;或998&#xff0c;是python从内存角度出发做的限制 修改最大深度 import syssys…

量化交易 题解

这是一道贪心题目&#xff0c;有一个神奇的贪心策略&#xff1a;维护一个小根堆&#xff0c;最小的股票价格。 若当前第 i 天的股票价格大于堆顶&#xff0c;那么就将差价累加到答案里&#xff0c;并且弹出堆顶&#xff0c;插入两次第 i 天的股票价格。若小于堆顶&#xff0c;那…

excel 转换日期

早上一朋友问我excel中如何将类似这样“19850421”的文本日期转换为“1985-04-21”。我的第一反应就是直接设置单元格格式为日期&#xff0c;于是打开excel试了试结果显示“##############”悲剧了&#xff0c;于是想到函数&#xff0c;就在excel中给她组合了一条函数“CONCATE…

无向图的割点与割边

定义&#xff1a; 给定无向图G&#xff08;V&#xff0c;E&#xff09;&#xff1a; 若对于x∈V&#xff0c;从图中删去节点x以及所有与节点x相关联的边后&#xff0c;G分裂成两个或两个以上不相连的子图&#xff0c;则称x为G的割点。 若对于e∈E&#xff0c;从图中删去边e后&a…

〖美好生活〗一则用来长知识的科普小短文

惊蛰、春分过后&#xff0c;万物复苏&#xff0c;大地回春&#xff0c;即将迎来我们中国人较为重视的一个传统节日——清明节。关于清明节要去祭扫祖先这一传统&#xff0c;相信所有人都知道&#xff0c;但是关于这个节日的来历可能就鲜有人关心了。以下来自于小编搜罗来的野史…

database中不存在的数据的概率怎么求(smoothing)?

看了李宏毅老师的https://www.bilibili.com/video/av9770302/?p4课程&#xff0c;了解了一下 Matrix Factorization 具体可以参考下边的连接 https://blog.csdn.net/u014595019/article/details/80586438 脑洞大开&#xff0c;未知的图像分类能不能用同样的思路处理。 这里有一…

【转】关于Jmeter3.0,你必须要知道的5点变化

2016.5.18日&#xff0c;Apache 发布了jmeter 3.0版本&#xff0c;本人第一时间上去查看并下载使用了&#xff0c;然后群里或同事都会问有什么样变化呢&#xff1f;正好在网上看到一遍关于3.0的文章&#xff0c;但是是英文的。这里翻译一下&#xff0c;照顾英文不好的同学。 Jm…

ctop监控容器

简介ctop是一个实时的容器性能监控工具,效果和htop差不多.安装直接是二进制文件安装的 wget https://github.com/bcicen/ctop/releases/download/v0.7.2/ctop-0.7.2-linux-amd64 修改可执行权限 chmod x ctop-0.7.2-linux-amd64 移动到/usr/local/bin下 mv ctop-0.7.2-linux-am…