博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Merge k Sorted Lists
阅读量:5140 次
发布时间:2019-06-13

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

Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.

 

第一遍:

1 public class Solution { 2     public ListNode mergeKLists(ArrayList
lists) { 3 // Start typing your Java solution below 4 // DO NOT write main() function 5 if(lists.size()==0) return null; 6 ListNode header = new ListNode(-1), cur = header; 7 // boolean sig = true; 8 while(true){ 9 int pos = -1;10 for(int i = 0; i < lists.size(); i ++){11 if(lists.get(i) != null && (pos == -1 || lists.get(i).val < lists.get(pos).val))12 pos = i;13 }14 if(pos != -1){15 cur.next = lists.get(pos);16 cur = cur.next;17 lists.set(pos,lists.get(pos).next);18 19 }else{20 break;21 }22 }23 return header.next;24 }25 }

 

第三遍:

去掉 null的项 可以加速 查找。

1 public class Solution { 2     public ListNode mergeKLists(ArrayList
lists) { 3 ListNode header = new ListNode(-1); 4 ListNode cur = header; 5 if(lists == null || lists.size() == 0) return null; 6 while(true){ 7 int min = -1; 8 for(int i = 0; i < lists.size(); i ++){ 9 if(lists.get(i) == null){10 lists.remove(i);11 i --;12 }13 else if(min == -1 || lists.get(i).val < lists.get(min).val)14 min = i;15 }16 if(min == -1) break;17 else{18 cur.next = lists.get(min);19 lists.set(min,lists.get(min).next);20 cur = cur.next;21 }22 }23 return header.next;24 }25 }

 

转载于:https://www.cnblogs.com/reynold-lei/p/3893919.html

你可能感兴趣的文章
pyCurl example
查看>>
ORMLite整合SQLCipher
查看>>
用extern定义全局变量
查看>>
http 持久连接
查看>>
linux 网络栈
查看>>
Nim 游戏、SG 函数、游戏的和
查看>>
ES6中的Class
查看>>
Shiro基础知识03----shiro授权(编程式授权),Permission详解,授权流程(zz)
查看>>
Redis安装配置文档(主从)
查看>>
为什么VUE注册组件命名时不能用大写的?
查看>>
使用OCaml绘制二叉递归树分型
查看>>
原生js来写获取元素距离顶部距离,以及滚动条滚动指定距离和时间控制
查看>>
Inside of Stagefright
查看>>
Error Code: 1175. You are using safe update(Mysql错误)
查看>>
vue.js移动端app实战3:从一个购物车入门vuex
查看>>
Google Maps V3 矩形电子围栏实现
查看>>
ASP.NET MVC4 & Entity Framework 6.0 IIS 部署出错解决方案
查看>>
如何在Win10中将USB端口挂起以节省电力
查看>>
Redis 实现消息队列操作
查看>>
只用@property定义一个属性speed,子类不能直接用_speed,需要在interface的成员变量列表里写上_speed...
查看>>