Leetcode 23 Merge k Sorted Lists
来源:互联网 发布:python能用来做什么 编辑:程序博客网 时间:2024/06/07 04:52
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
k个序列的排序问题,可以分解为多个两个序列的排序问题。
但是每一次拿哪两个序列出来合并是一个问题。
要减少时间复杂度,二分法是一个不错的选择,log是个好东西
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public static ListNode mergeKLists(ListNode[] lists){ return binary(lists,0,lists.length-1);}public static ListNode binary(ListNode[] lists,int s,int e){ if(s==e) return lists[s]; if(s<e){ int q=s + (e-s)/2; ListNode l1=binary(lists,s,q); ListNode l2=binary(lists,q+1,e); return sort2(l1,l2); }else return null;}public static ListNode sort2(ListNode l1,ListNode l2){ if(l1==null) return l2; if(l2==null) return l1; if(l1.val<l2.val){ l1.next=sort2(l1.next,l2); return l1; }else{ l2.next=sort2(l1,l2.next); return l2; }}}
0 0
- LeetCode(23)Merge K Sorted Lists
- [leetcode 23] Merge k Sorted Lists
- [leetcode]23 Merge k Sorted Lists
- [#23 leetcode]Merge k Sorted Lists
- LeetCode 23 Merge k Sorted Lists
- leetcode 23 Merge k Sorted Lists
- [Leetcode 23, Hard] Merge k Sorted Lists
- Leetcode 23 Merge k Sorted Lists
- LeetCode 23 - Merge k Sorted Lists
- LeetCode 23: Merge K Sorted Lists
- leetcode-23Merge k Sorted Lists
- leetcode 23: Merge k Sorted Lists
- Leetcode 23 Merge k Sorted Lists
- LeetCode-23 Merge k Sorted Lists
- LeetCode 23: Merge k Sorted Lists
- leetcode 23:Merge k Sorted Lists
- Leetcode #23 Merge k Sorted Lists
- LeetCode(23)Merge k Sorted Lists
- Unity3D说明文档翻译-Audio
- Unity3D说明文档翻译-Animation
- 使用操作对象的简单例子(63)
- CSS选择器优先级
- Unity3D说明文档翻译-Navigation and Pathfinding
- Leetcode 23 Merge k Sorted Lists
- 242 Valid Anagram
- Unity3D说明文档翻译-Unity Services
- 介绍一个好用的工具类库commons-beanutils
- 高精度加法(c++)
- Linux系统常见目录说明
- 266 Palindrome Permutation
- 堆
- OD脱壳-再次载入-软件无法找到入口