From 44d0fee40c0508937ce244382f7614f4a76b011b Mon Sep 17 00:00:00 2001 From: ShusenTang Date: Fri, 21 Feb 2020 23:57:18 +0800 Subject: [PATCH] add 23 --- README.md | 1 + solutions/23. Merge k Sorted Lists.md | 131 ++++++++++++++++++++++++++ solutions/img/23.png | Bin 0 -> 46593 bytes 3 files changed, 132 insertions(+) create mode 100644 solutions/23. Merge k Sorted Lists.md create mode 100644 solutions/img/23.png diff --git a/README.md b/README.md index 5ca4ee8..521ca11 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ My LeetCode solutions with Chinese explanation. 我的LeetCode中文题解。 | 20 |[Valid Parentheses](https://leetcode.com/problems/valid-parentheses)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/20.%20Valid%20Parentheses.md)|Easy| | | 21 |[Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/21.%20Merge%20Two%20Sorted%20Lists.md)|Easy| | | 22 |[Generate Parentheses](https://leetcode.com/problems/generate-parentheses)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/22.%20Generate%20Parentheses.md)|Medium| | +| 23 |[Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/)|[C++](solutions/23.%20Merge%20k%20Sorted%20Lists.md)|Hard| | | 24 |[Swap Nodes in Pairs](https://leetcode.com/problems/swap-nodes-in-pairs)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/24.%20Swap%20Nodes%20in%20Pairs.md)|Medium| | | 26 |[Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/26.%20Remove%20Duplicates%20from%20Sorted%20Array.md)|Easy| | | 27 |[Remove Element](https://leetcode.com/problems/remove-element)|[C++](https://github.com/ShusenTang/LeetCode/blob/master/solutions/27.%20Remove%20Element.md)|Easy| | diff --git a/solutions/23. Merge k Sorted Lists.md b/solutions/23. Merge k Sorted Lists.md new file mode 100644 index 0000000..49066f4 --- /dev/null +++ b/solutions/23. Merge k Sorted Lists.md @@ -0,0 +1,131 @@ +# [23. Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/) + +# 思路 + +将k个排好序的链表合并成一个大的有序链表。 + +## 思路一 + +最好想的就是维护一个堆(priority_queue)或者红黑树(multiset或者multimap)的数据结构。首先把k个链表的首元素都加入其中,然后每次取出最小的那个元素加入最终结果的链表中,然后把取出元素所在链表的下一个元素再加入结构中,以此类推,直到结构中没有元素了。 + + +设所有元素个数为N,时间复杂度O(Nlogk),空间复杂度O(k) + +## 思路二 + +另一个思路就是外排序,即k路归并排序的思想,如下图所示 + +
+image_name +
+ +由于每次归并时间复杂度是线性的,所以每一轮归并时间均为O(N),而需要 logk 轮归并,所以时间复杂度O(Nlogk)。 + +空间复杂度O(1) + +# C++ +## 思路一、使用priority_queue +**注意学习如何自定义compare类** +``` C++ +// 默认为最大堆, 所以需要自定义compare类使成为最小堆 +struct compare { + bool operator()(const ListNode* p1, const ListNode* p2) { + return p1 -> val > p2 -> val; + } +}; + +class Solution { +public: + ListNode* mergeKLists(vector& lists) { + priority_queue, compare>min_heap; + + for(int i = 0; i < lists.size(); i++) + if(lists[i]) min_heap.push(lists[i]); + + if(min_heap.empty()) return NULL; + + ListNode *head = min_heap.top(), *p = head; + min_heap.pop(); + if(p -> next) min_heap.push(p -> next); + while(!min_heap.empty()){ + p -> next = min_heap.top(); min_heap.pop(); + p = p -> next; + if(p -> next) min_heap.push(p -> next); + } + return head; + } +}; +``` + +## 思路一、使用multimap +**注意multimap插入时需传入一个{key, value}的pair** +``` C++ +class Solution { +public: + ListNode* mergeKLists(vector& lists) { + multimapmp; + for(int i = 0; i < lists.size(); i++) + if(lists[i]) mp.insert({lists[i] -> val, lists[i]}); + + if(mp.empty()) return NULL; + + ListNode *head = mp.begin() -> second, *p = head; + mp.erase(mp.begin()); + if(p -> next) mp.insert({p -> next -> val, p -> next}); + while(!mp.empty()){ + p -> next = mp.begin() -> second; + mp.erase(mp.begin()); + p = p -> next; + if(p -> next) mp.insert({p -> next-> val, p -> next}); + } + return head; + } +}; +``` + +## 思路二 +``` C++ +class Solution { +private: + ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { + /*copy from 21. Merge Two Sorted Lists */ + ListNode *res = new ListNode(0); + ListNode *pre = res; + while(l1 && l2){ + if(l1 -> val <= l2 -> val){ + pre -> next = l1; + l1 = l1 -> next; + } + else{ + pre -> next = l2; + l2 = l2 -> next; + } + pre = pre -> next; + } + + if(l1) pre -> next = l1; + else pre -> next = l2; + + ListNode *head = res; + res = head -> next; + head -> next = NULL; + delete head; + return res; + } + +public: + ListNode* mergeKLists(vector& lists) { + int n = lists.size(); + if(!n) return NULL; + + int interval = 1; + while(interval < n){ + for(int i = 0; i < n - interval; i += (2 * interval)) + lists[i] = mergeTwoLists(lists[i], lists[i+interval]); + + interval*=2; + } + return lists[0]; + } +}; +``` \ No newline at end of file diff --git a/solutions/img/23.png b/solutions/img/23.png new file mode 100644 index 0000000000000000000000000000000000000000..4e14a74db6398095a2b403ce5e644ab897609123 GIT binary patch literal 46593 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∓ijc0u!@~TB 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 WTg6nDQpN+|qoSZLUoLAF^gjUlAId`j literal 0 HcmV?d00001