合并k个排序的列表 Merge k Sorted Lists
2024-10-16 09:50:19
2018-11-25 22:58:52
问题描述:
问题求解:
本题可以使用优先队列高效的进行求解,整体的时间复杂度为O(nlogk)。
public ListNode mergeKLists(ListNode[] lists) {
ListNode dummy = new ListNode(-1);
ListNode prev = dummy;
int k = lists.length;
PriorityQueue<ListNode> pq = new PriorityQueue<>(new Comparator<ListNode>() {
@Override
public int compare(ListNode o1, ListNode o2) {
return o1.val - o2.val;
}
});
for (int i = 0; i < k; i++) if (lists[i] != null) pq.add(lists[i]);
while (!pq.isEmpty()) {
ListNode curNode = pq.poll();
prev.next = curNode;
prev = prev.next;
if (curNode.next != null) pq.add(curNode.next);
}
return dummy.next;
}
最新文章
- Opentaps安装小记
- [AS3.0] FMS改变录制视频的默认地址
- bzoj2748[HAOI2012]音量调节(背包问题的方案)
- 【caffe】三种文件类别:solver,model和weights
- java 12 - 5 带有缓冲区的字符流
- socket 异步选择 WSAAsyncSelect 用法
- IDA 与VC 加载符号表
- 入门必须掌握8个DOS命令
- uva 714 Copying Books(二分法求最大值最小化)
- JS图片上传后base64转码
- 高通公司 MSM8K GPT异常原因分析无法开机的问题
- 使用Pushlet来实现服务器端向客户端推送信息
- mybatis常见问题和错误
- linux minitools+minicom 安装及使用
- k8s实战之数据卷(volume)
- FastAdmin 怎么把模块设置默认的首页?
- java 内存分析之构造方法执行过程
- Oracle GoldenGate 三、加密
- RabbitMQ client ( java )
- SQL Server 一些操作语句
热门文章
- bzoj 4445 小凸想跑步 - 半平面交
- noip模拟题 2017.10.28 -kmp -Tarjan -鬼畜的优化
- [NOI1995]石子合并 四边形不等式优化
- 不能安装64位office提示已安装32位的
- P3261 [JLOI2015]城池攻占
- SalGAN: Visual saliency prediction with generative adversarial networks
- codeforce 886C Petya and Catacombs (map,思路)
- java.lang.NoClassDefFoundError: com/gexin/rp/sdk/exceptions/RequestException解决方法
- 51nod 1615 跳跃的杰克
- SVN的常用功能使用教程