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]
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
高可用MySQL
)Charles Bell Mats Kindahl Lars Thalmann / 宁青、唐李洋 诸云萍 / 电子工业出版社 / 2011-10 / 98.00元
《高可用mysql:构建健壮的数据中心》是“mysql high availability”的中文翻译版,主要讲解真实环境下如何使用mysql 的复制、集群和监控特性,揭示mysql 可靠性和高可用性的方方面面。本书由mysql 开发团队亲自执笔,定位于解决mysql 数据库的常见应用瓶颈,在保持mysql 的持续可用性的前提下,挖潜各种提高性能的解决方案。本书分为三个部分。第一部分讲述mysql......一起来看看 《高可用MySQL》 这本书的介绍吧!