Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
Example:
Input:[ 1->4->5, 1->3->4, 2->6 ]
Output:1->1->2->3->4->4->5->6
func mergeKLists(_ lists: [ListNode?]) -> ListNode? {
var i = 0, j = 0, fl = lists.compactMap({$0}), n = fl.count, p: ListNode?
if n < 1 { return nil }
var arr = Array(repeating: 0, count: 256*256)
while i < n {
p = fl[i]; i += 1
while let p1 = p {
arr[j] = p1.val
p = p1.next; j += 1
if p == nil, i < n {
p1.next = fl[i]
}
}
}
arr = Array(arr[..<j]).sorted()
i = 0; p = fl[0]
while let q = p, i < j {
q.val = arr[i]
p = q.next; i += 1
}
return fl[0]
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
中国制造2025:产业互联网开启新工业革命
夏妍娜、赵胜 / 机械工业出版社 / 2016-2-22 / 49.00
过去20年,是中国消费互联网肆意生长的"黄金20年",诞生了诸如BAT等互联网巨头,而时至今日,风口正逐渐转向了产业互联网。互联网这一摧枯拉朽的飓风,在改造了消费服务业之后,正快速而坚定地横扫工业领域,拉开了产业互联网"关键30年"的大幕。 "中国制造2025"规划,恰是中国政府在新一轮产业革命浪潮中做出的积极举措,是在"新常态"和"供给侧改革"的背景下,强调制造业在中国经济中的基础作用,认......一起来看看 《中国制造2025:产业互联网开启新工业革命》 这本书的介绍吧!