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

手机投资app平台汕头seo网站优化

手机投资app平台,汕头seo网站优化,广州网站建设骏域,织梦网站图片不显示题目链接#xff1a;23. 合并 K 个升序链表 题目描述#xff1a; 数据范围#xff1a; **思考#xff1a;**这题实际上就是合并两个有序列表的进阶版#xff0c;只不过这里变成了合并K个#xff0c;那么这里我们显然就知道#xff0c;核心的合并两个有序列表的思路不…题目链接23. 合并 K 个升序链表 题目描述 数据范围 **思考**这题实际上就是合并两个有序列表的进阶版只不过这里变成了合并K个那么这里我们显然就知道核心的合并两个有序列表的思路不变剩下的重点处理就在于如何将这K个链表进行两两合并了方式有很多但效率不一下面介绍几种易想到的思路 方法一顺序合并 顺序合并思路很简单就是顺序地将这K个链表两两地进行合并。 代码 /*** Definition for singly-linked list.* type ListNode struct {* Val int* Next *ListNode* }*/ func mergeKLists(lists []*ListNode) *ListNode {if len(lists) 0 {return new(ListNode).Next}res : lists[0]lists lists[1:]for _,list : range lists {res mergeTwoLists(res,list)}return res } // 合并两个升序链表 func mergeTwoLists(l1 ,l2 *ListNode) *ListNode {head : new(ListNode)l : headfor ;l1 ! nil l2 ! nil; {if l1.Val l2.Val {l.Next l1l1 l1.Next}else {l.Next l2l2 l2.Next}l l.Next}if l1 ! nil {l.Next l1}if l2 ! nil {l.Next l2}return head.Next }方法二、分治 顺序合并的效率并不高这样做就类似于阻塞操作合并前面的链表的时候无关的链表啥事儿都干不了因此我们可以考虑进行分治先递归地划分区间两两合并最后再将总的合并起来。 代码 /*** Definition for singly-linked list.* type ListNode struct {* Val int* Next *ListNode* }*/ func mergeKLists(lists []*ListNode) *ListNode {if len(lists) 0 {return new(ListNode).Next}return merge(0,len(lists)-1,lists) }func merge(l,r int,lists []*ListNode) *ListNode {if l r {return nil}if l r {return lists[l]}mid : (lr)1return mergeTwoLists(merge(l,mid,lists),merge(mid1,r,lists)) }func mergeTwoLists(l1 ,l2 *ListNode) *ListNode {head : new(ListNode)l : headfor ;l1 ! nil l2 ! nil; {if l1.Val l2.Val {l.Next l1l1 l1.Next}else {l.Next l2l2 l2.Next}l l.Next}if l1 ! nil {l.Next l1}if l2 ! nil {l.Next l2}return head.Next }方法三、小根堆 看了下题解找出了不同的写法的基本上用了小根堆(优先队列)的结构来实现的思路就是初始时将每个链表的头结点加入到堆中调整成为一个小根堆那么堆顶结点一定是最小的。循环取堆中的元素直到堆为空注意每次从堆中取出一个节点就需要将该节点从堆中移除并将这个节点的下一个节点加入到堆中。 代码 func mergeKLists(lists []*ListNode) *ListNode {h : hp{}for _, head : range lists {if head ! nil {h append(h, head)}}heap.Init(h) // 初始化小根堆res : ListNode{} // 哨兵节点作为合并后链表头节点的前一个节点cur : res // 当前合并的链表位置也就res链表末尾for len(h) 0 {node : heap.Pop(h).(*ListNode) // 取出堆顶元素if node.Next ! nil { // 该节点的下一个节点不空就再加入堆中heap.Push(h, node.Next)}cur.Next node // 记录到答案中cur cur.Next // 准备合并下一个节点}return res.Next }// golang中小根堆的实现 type hp []*ListNode func (h hp) Len() int { return len(h) } func (h hp) Less(i, j int) bool { return h[i].Val h[j].Val } // 最小堆 func (h hp) Swap(i, j int) { h[i], h[j] h[j], h[i] } func (h *hp) Push(x interface{}) {*h append(*h, x.(*ListNode))} func (h *hp) Pop() interface{} {n : len(*h)ans : (*h)[n-1] // n-1个元素就是堆顶元素*h (*h)[:n-1]return ans }这种做法很容易能看出复杂度为O(n*logk)其中k是链表长度而n是所有链表节点数之和这里logk主要是k个链表加入到堆中所以时间复杂度为logk。
文章转载自:
http://www.morning.jfbgn.cn.gov.cn.jfbgn.cn
http://www.morning.yskhj.cn.gov.cn.yskhj.cn
http://www.morning.xknsn.cn.gov.cn.xknsn.cn
http://www.morning.brwwr.cn.gov.cn.brwwr.cn
http://www.morning.lmrcq.cn.gov.cn.lmrcq.cn
http://www.morning.fgkrh.cn.gov.cn.fgkrh.cn
http://www.morning.mqxrx.cn.gov.cn.mqxrx.cn
http://www.morning.ggnfy.cn.gov.cn.ggnfy.cn
http://www.morning.wlfxn.cn.gov.cn.wlfxn.cn
http://www.morning.ktntj.cn.gov.cn.ktntj.cn
http://www.morning.dgsx.cn.gov.cn.dgsx.cn
http://www.morning.wpydf.cn.gov.cn.wpydf.cn
http://www.morning.qyfrd.cn.gov.cn.qyfrd.cn
http://www.morning.xnnxp.cn.gov.cn.xnnxp.cn
http://www.morning.zlff.cn.gov.cn.zlff.cn
http://www.morning.shuangxizhongxin.cn.gov.cn.shuangxizhongxin.cn
http://www.morning.gkjnz.cn.gov.cn.gkjnz.cn
http://www.morning.rqjfm.cn.gov.cn.rqjfm.cn
http://www.morning.pccqr.cn.gov.cn.pccqr.cn
http://www.morning.fygbq.cn.gov.cn.fygbq.cn
http://www.morning.nqdkx.cn.gov.cn.nqdkx.cn
http://www.morning.qztdz.cn.gov.cn.qztdz.cn
http://www.morning.weiwt.com.gov.cn.weiwt.com
http://www.morning.rsmtx.cn.gov.cn.rsmtx.cn
http://www.morning.dshkp.cn.gov.cn.dshkp.cn
http://www.morning.pqndg.cn.gov.cn.pqndg.cn
http://www.morning.wlxfj.cn.gov.cn.wlxfj.cn
http://www.morning.zypnt.cn.gov.cn.zypnt.cn
http://www.morning.fosfox.com.gov.cn.fosfox.com
http://www.morning.mjglk.cn.gov.cn.mjglk.cn
http://www.morning.lhztj.cn.gov.cn.lhztj.cn
http://www.morning.jfxth.cn.gov.cn.jfxth.cn
http://www.morning.errnull.com.gov.cn.errnull.com
http://www.morning.pkfpl.cn.gov.cn.pkfpl.cn
http://www.morning.pclgj.cn.gov.cn.pclgj.cn
http://www.morning.wwkft.cn.gov.cn.wwkft.cn
http://www.morning.qbfs.cn.gov.cn.qbfs.cn
http://www.morning.zmwzg.cn.gov.cn.zmwzg.cn
http://www.morning.mwzt.cn.gov.cn.mwzt.cn
http://www.morning.wncb.cn.gov.cn.wncb.cn
http://www.morning.btrfm.cn.gov.cn.btrfm.cn
http://www.morning.ndpwg.cn.gov.cn.ndpwg.cn
http://www.morning.spqbp.cn.gov.cn.spqbp.cn
http://www.morning.dbhnx.cn.gov.cn.dbhnx.cn
http://www.morning.ckhyj.cn.gov.cn.ckhyj.cn
http://www.morning.dmnqh.cn.gov.cn.dmnqh.cn
http://www.morning.zrfwz.cn.gov.cn.zrfwz.cn
http://www.morning.bqwnp.cn.gov.cn.bqwnp.cn
http://www.morning.kpbgp.cn.gov.cn.kpbgp.cn
http://www.morning.lfcnj.cn.gov.cn.lfcnj.cn
http://www.morning.smhtg.cn.gov.cn.smhtg.cn
http://www.morning.rnmc.cn.gov.cn.rnmc.cn
http://www.morning.qbwyd.cn.gov.cn.qbwyd.cn
http://www.morning.zlmbc.cn.gov.cn.zlmbc.cn
http://www.morning.skrww.cn.gov.cn.skrww.cn
http://www.morning.elmtw.cn.gov.cn.elmtw.cn
http://www.morning.xjqkh.cn.gov.cn.xjqkh.cn
http://www.morning.ckzjl.cn.gov.cn.ckzjl.cn
http://www.morning.qmncj.cn.gov.cn.qmncj.cn
http://www.morning.kyfnh.cn.gov.cn.kyfnh.cn
http://www.morning.xgmf.cn.gov.cn.xgmf.cn
http://www.morning.bljcb.cn.gov.cn.bljcb.cn
http://www.morning.kjxgc.cn.gov.cn.kjxgc.cn
http://www.morning.mpbgy.cn.gov.cn.mpbgy.cn
http://www.morning.pypqf.cn.gov.cn.pypqf.cn
http://www.morning.lmdkn.cn.gov.cn.lmdkn.cn
http://www.morning.rsqpc.cn.gov.cn.rsqpc.cn
http://www.morning.yfwygl.cn.gov.cn.yfwygl.cn
http://www.morning.pzss.cn.gov.cn.pzss.cn
http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn
http://www.morning.myfwb.cn.gov.cn.myfwb.cn
http://www.morning.snygg.cn.gov.cn.snygg.cn
http://www.morning.frllr.cn.gov.cn.frllr.cn
http://www.morning.txmkx.cn.gov.cn.txmkx.cn
http://www.morning.nstml.cn.gov.cn.nstml.cn
http://www.morning.mrckk.cn.gov.cn.mrckk.cn
http://www.morning.yqkxr.cn.gov.cn.yqkxr.cn
http://www.morning.ylpl.cn.gov.cn.ylpl.cn
http://www.morning.rycbz.cn.gov.cn.rycbz.cn
http://www.morning.hnrpk.cn.gov.cn.hnrpk.cn
http://www.tj-hxxt.cn/news/278272.html

相关文章:

  • wordpress跳转站点运营策划怎么做
  • 北京市建设工程质量监督网站有限公司与有限责任公司的区别
  • 开个网站建设公司需要什么软件爱站网关键词查询
  • 网站建设的培训邯郸教育行业网站建设
  • 酷站 网站开发一款交友软件多少钱
  • 企业网站建设的公司银川网站开发制作
  • 番禺网站开发企业php网站开发代做
  • 信息设计网站建设厅特种作业
  • 江都网络建站开源展示型网站
  • 网站建设教育机构h5网站开发流程图
  • 做动态logo网站网站开发是什么费用
  • 做网站需要准备什么材料百度搜索不到网站
  • 关于校园网站建设的建议下载优化大师并安装
  • 陕西省住房和城乡建设网站最受欢迎的网站开发语言市场有率
  • 有没有做装修的大型网站而不是平台大连科技网站制作
  • 网站备案拍照客户端
  • 企业网站设计欣赏微信手机网站案例
  • 中和华丰建设有限责任公司网站wordpress调用视频播放器
  • 四川建设安全监督管理局网站重庆网站设计哪家公司好
  • 免费下载网站有哪些牛商网培训
  • 西安网站建设选任我行网络火车头 wordpress 4.8
  • 比较流行的sns营销网站最新军事新闻
  • 宝塔建站wordpress如何搭建购物网站
  • 济南海绵城市建设官方网站春雨app直播免费版下载
  • 网上订餐网站建设的外文文献老网站做成适合手机端的网站怎么做
  • 孝感建设局网站建大型网站公司简介
  • 商丘网站制作电话如何做网站链接使用
  • 基本的网站开发技术无锡网站建设企业
  • 靖宇东兴自助建站qianhu微建站
  • 江汉网站建设河北省住房城乡建设局网站