博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FB面经Prepare: Merge K sorted Array
阅读量:7093 次
发布时间:2019-06-28

本文共 1131 字,大约阅读时间需要 3 分钟。

Merge K sorted Array

跟Merge K sorted lists不同在于,从PQ里poll出来以后不知道下一个需要被加入PQ的是哪一个

所以需要写一个wrapper class

1 package fbPractise; 2  3 import java.util.*; 4  5 public class MergeKLists { 6     static class Pair { 7         int listIndex; 8         int idInList; 9         int value;10         public Pair(int l, int id, int val) {11             this.listIndex = l;12             this.idInList = id;13             this.value = val;14         }15     }16     17     public static List
merge(List
> lists) {18 List
res = new ArrayList
();19 20 Comparator
comp = new Comparator
() {21 public int compare(Pair p1, Pair p2) {22 return p1.value - p2.value;23 }24 };25 PriorityQueue
pq = new PriorityQueue
(1, comp);26 for (int i=0; i
l1 = Arrays.asList(1,2,2,3,6);50 List
l2 = Arrays.asList(1,4,5,7,8,9);51 List
l3 = Arrays.asList(3,3,3,5,10);52 List
> lists = new ArrayList
>();53 lists.add(new ArrayList
(l1));54 lists.add(new ArrayList
(l2));55 lists.add(new ArrayList
(l3));56 List
res = merge(lists);57 System.out.println(res);58 }59 60 }

 

转载地址:http://huiql.baihongyu.com/

你可能感兴趣的文章
权限模型体系设计
查看>>
JVM垃圾回收与性能调优总结
查看>>
Linux使用shell自动切换网关
查看>>
Spring 的优秀工具类盘点,第 1 部分: 文件资源操作和 Web 相关工具类
查看>>
谨防非法网络传销网站finnciti 前身smi已被取缔
查看>>
Kubernetes使用Ceph静态卷部署应用
查看>>
为CentOS 6.5 配置本地YUM源
查看>>
linux grep命令
查看>>
Memcache知识点梳理
查看>>
1.java用户校验
查看>>
【MySQL】lower_case_table_names参数详解
查看>>
定时任务crond生产实战经验
查看>>
mysql-5.5配置主从 及 主主关系
查看>>
高级文件系统管理
查看>>
磁盘阵列RAID的功能作用介绍
查看>>
安装discuz
查看>>
左值和右值
查看>>
anisble变量二(针对默认收集的信息处理)
查看>>
[大数据行业应用发展前景分析] 阿里潘永花报告:大数据产业将成为新的煤和石油介绍...
查看>>
聊聊spring cloud gateway的streaming-media-types属性
查看>>