当前位置: 首页 > wzjs >正文

医院网站建设公司价格低重庆seo技术博客

医院网站建设公司价格低,重庆seo技术博客,wordpress点击才弹窗插件,多平台网站开发🚀 LeetCode 热题 23:合并 K 个升序链表(详细解析) 📌 题目描述 LeetCode 23. Merge k Sorted Lists 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合…

🚀 LeetCode 热题 23:合并 K 个升序链表(详细解析)

📌 题目描述

LeetCode 23. Merge k Sorted Lists

给你一个链表数组,每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中,返回合并后的链表。


🎯 示例 1:

输入:lists = [[1,4,5],[1,3,4],[2,6]]
输出:[1,1,2,3,4,4,5,6]

🎯 示例 2:

输入:lists = []
输出:[]

🎯 示例 3:

输入:lists = [[]]
输出:[]

💡 解题思路一:优先队列(最小堆)

使用最小堆(Priority Queue)维护 k 个链表的头节点,每次取堆顶最小值节点,接入结果链表。

✅ 步骤解析

  1. 初始化最小堆,将每个非空链表的头节点入堆。
  2. 不断从堆中弹出最小值节点,将其加入结果链表。
  3. 如果弹出的节点有 next 节点,则将 next 节点入堆。
  4. 最后返回结果链表头部。

💻 Go 实现(使用 heap 接口)

type ListNode struct {Val  intNext *ListNode
}type NodeHeap []*ListNodefunc (h NodeHeap) Len() int           { return len(h) }
func (h NodeHeap) Less(i, j int) bool { return h[i].Val < h[j].Val }
func (h NodeHeap) Swap(i, j int)      { h[i], h[j] = h[j], h[i] }func (h *NodeHeap) Push(x interface{}) {*h = append(*h, x.(*ListNode))
}func (h *NodeHeap) Pop() interface{} {old := *hn := len(old)x := old[n-1]*h = old[0 : n-1]return x
}func mergeKLists(lists []*ListNode) *ListNode {h := &NodeHeap{}heap.Init(h)for _, node := range lists {if node != nil {heap.Push(h, node)}}dummy := &ListNode{}curr := dummyfor h.Len() > 0 {node := heap.Pop(h).(*ListNode)curr.Next = nodecurr = curr.Nextif node.Next != nil {heap.Push(h, node.Next)}}return dummy.Next
}

💡 解题思路二:分治合并(归并)

  • 将 k 个链表两两合并,逐步缩小范围。
  • 类似归并排序的思想。

✅ 步骤解析

  1. 每次将链表对半拆分,递归合并每一对链表。
  2. 使用合并两个有序链表的经典方法。

💻 Go 实现

func mergeKLists(lists []*ListNode) *ListNode {if len(lists) == 0 {return nil}return mergeRange(lists, 0, len(lists)-1)
}func mergeRange(lists []*ListNode, l, r int) *ListNode {if l == r {return lists[l]}mid := (l + r) / 2left := mergeRange(lists, l, mid)right := mergeRange(lists, mid+1, r)return mergeTwoLists(left, right)
}func mergeTwoLists(l1, l2 *ListNode) *ListNode {dummy := &ListNode{}curr := dummyfor l1 != nil && l2 != nil {if l1.Val < l2.Val {curr.Next = l1l1 = l1.Next} else {curr.Next = l2l2 = l2.Next}curr = curr.Next}if l1 != nil {curr.Next = l1} else {curr.Next = l2}return dummy.Next
}

📊 解法对比 & 复杂度分析

解法时间复杂度空间复杂度特点说明
✅ 最小堆 O ( n log ⁡ k ) O(n \log k) O(nlogk) O ( k ) O(k) O(k)快速选择当前最小节点
✅ 分治合并 O ( n log ⁡ k ) O(n \log k) O(nlogk) O ( log ⁡ k ) O(\log k) O(logk)简洁高效,适合面试常考套路
  • 其中, n n n 是所有链表节点总数, k k k 是链表数量。

🧠 总结

  • 🔧 如果要求效率,最小堆优先,适合在线合并场景。
  • 📚 如果偏向代码整洁,可选择分治合并,便于拓展与理解。
  • 💡 重点掌握:链表合并逻辑 + 堆操作 + 分治模板。

✅ 如果你觉得这篇文章对你有帮助,欢迎点赞 👍、收藏 ⭐、关注 💻,我会持续更新更多高质量 LeetCode 热题详解!🚀📌🎯



文章转载自:

http://51MWoPYu.ghxkm.cn
http://Jxr1kraU.ghxkm.cn
http://ZRQ7C9Y5.ghxkm.cn
http://25TK23SN.ghxkm.cn
http://NE3B6CAK.ghxkm.cn
http://STwBcd1f.ghxkm.cn
http://RGNKDQEz.ghxkm.cn
http://vSvl7vAu.ghxkm.cn
http://v3NDw6fC.ghxkm.cn
http://7GaziYJf.ghxkm.cn
http://GqUAjBoy.ghxkm.cn
http://v25ZYMfW.ghxkm.cn
http://m9MBZlk6.ghxkm.cn
http://ae3UO4r3.ghxkm.cn
http://4RYpeACJ.ghxkm.cn
http://1i3e6e0r.ghxkm.cn
http://vD5vtK3a.ghxkm.cn
http://oqAfbUBZ.ghxkm.cn
http://HzBIvi0r.ghxkm.cn
http://jXxosWqa.ghxkm.cn
http://4dIH3ksG.ghxkm.cn
http://6AmvxK1v.ghxkm.cn
http://KMS9cme9.ghxkm.cn
http://jdFvFgDu.ghxkm.cn
http://X4xFh7YU.ghxkm.cn
http://b4qtsJ1o.ghxkm.cn
http://yxBk4Cpl.ghxkm.cn
http://Hh0jxITO.ghxkm.cn
http://H6RiZpgY.ghxkm.cn
http://IN8HV5Wp.ghxkm.cn
http://www.dtcms.com/wzjs/750249.html

相关文章:

  • 网站收录提交入口大全wordpress能商用吗?
  • 关于论文网站开发参考文献网站设计做什么
  • 百度网盘做自已网站营销型网站建站
  • 搭建网站属于什么专业无线网络
  • 广东网站建设方案报价朝阳区北京网站建设
  • 大连网站建设求职简历中英 网站模板 带手机版
  • 本机可以做网站的服务器吗公司域名更改 网站怎么做提示
  • 百度网站优化升上去做网站推广挣多少钱
  • 外贸网站推广如何做建盏产业品牌
  • 巴西网站后缀知页怎么转换wordpress
  • 国产化网站建设wordpress用户密码重置
  • 太原市住房和城乡建设局的网站售票网站建设
  • 中国建设银行网站首页手机银行网站建设电
  • 石家庄做网站网络公司腾讯域名注册官网
  • 杭州建设信用网新网站个人网站可以做经营性的吗
  • 北京美的网站一般通过中介找工作需要多少钱
  • 网站seo文章该怎么写免费企业网站认证
  • 阿里云linux主机如何添加2个网站福田欧曼重卡
  • 计算机网站建设维护的基本知识wordpress调用当前页文章
  • 烟台公司中企动力提供网站建设朝阳住房和城乡建设官方网站
  • .net电商网站开发设计申请一个网站空间
  • 简单的招聘网站怎么做大型电子商务网站需要配服务器
  • 易语言做购物网站赣州深科网站建设
  • 网页设计网站源代码wordpress摘要 字数
  • 医院内外网站建设可以自建网站吗
  • 青海海东住房和城乡建设局网站wordpress评论点评
  • 优化网站公司外包网络设计方案是如何体现网络设计需求的?
  • 建设网站是不是要买服务器wordpress 音乐站主题
  • 做网站的好框架江门论坛建站模板
  • 宁波网站推广宣传网站建设及空间