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

象山县城乡建设局网站做的网站每年都要收费吗

象山县城乡建设局网站,做的网站每年都要收费吗,网站开发 js,网站开发应聘信息23. 合并 K 个升序链表 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 正文 这道题有多种解决方案 堆 比较容易,又比较直观的就是堆排序,将每个节点加入最小根堆中&…

23. 合并 K 个升序链表

给你一个链表数组,每个链表都已经按升序排列。

请你将所有链表合并到一个升序链表中,返回合并后的链表。


正文

这道题有多种解决方案

比较容易,又比较直观的就是堆排序,将每个节点加入最小根堆中,依次弹出加入最后的链表,就可得出答案,事实上,并不需要每次都将所有链表加入,只需要最开始将每个链表的头节点加入,然后在弹出链表时,直接将弹出的节点的下一个节点再加入堆即可,这样能够有效节省空间。

代码如下:

func mergeKLists(lists []*ListNode) *ListNode {lh := &ListHeap{}heap.Init(lh)for _, node := range lists {if node != nil {heap.Push(lh, node)}}dummy := &ListNode{}tmp := dummyfor lh.Len() > 0 {Node := heap.Pop(lh).(*ListNode)tmp.Next = Nodetmp = tmp.Nextif Node.Next != nil {heap.Push(lh, Node.Next)}}return dummy.Next
}type ListHeap []*ListNodefunc (l *ListHeap) Len() int {return len(*l)
}func (l *ListHeap) Less(i, j int) bool {return (*l)[i].Val < (*l)[j].Val
}func (l *ListHeap) Swap(i, j int) {(*l)[i], (*l)[j] = (*l)[j], (*l)[i]
}func (l *ListHeap) Push(x any) {*l = append(*l, x.(*ListNode))
}func (l *ListHeap) Pop() any {res := (*l)[len(*l)-1]*l = (*l)[:len(*l)-1]return res
}

堆排序不用ide也太难写了~

分治

跟归并排序的思路类似,将链表切片分成两部分,分别合并成一个链表,再将这两个链表进行合并。

可以理解为:

	链表1  链表2    链表3    链表4|		  |		|		  ||		  |		|		  ||		  |		|		  ||		  |		|		  |+————+————+     +————+————+|			 	 |链表			链表+————————+——————+||最终链表

代码如下:

func mergeKLists(lists []*ListNode) *ListNode {return Merge(lists, 0, len(lists) - 1)
}func Merge(lists []*ListNode, l int, r int) *ListNode {if l == r {return lists[l]} else if l > r {return nil}mid := (l + r) / 2return MergeTwoLists(Merge(lists, l, mid), Merge(lists, mid + 1, r))
}func MergeTwoLists(list1 *ListNode, list2 *ListNode) *ListNode {dummy := &ListNode{}tmp := dummyfor list1 != nil && list2 != nil {if list1.Val > list2.Val {tmp.Next = list2tmp = tmp.Nextlist2 = list2.Next} else {tmp.Next = list1tmp = tmp.Nextlist1 = list1.Next}}if list1 != nil {tmp.Next = list1}if list2 != nil {tmp.Next = list2}return dummy.Next
}


文章转载自:

http://htPjbWOE.hpggL.cn
http://0aWBcl0c.hpggL.cn
http://36ujKAZW.hpggL.cn
http://uX2dc0S6.hpggL.cn
http://lMGELLV0.hpggL.cn
http://sdH3Dm4D.hpggL.cn
http://cEvQ2Cqi.hpggL.cn
http://xn3gP4J9.hpggL.cn
http://obuRrskp.hpggL.cn
http://NPjP4zWi.hpggL.cn
http://FPxVVTsE.hpggL.cn
http://x0JOYrSy.hpggL.cn
http://ez54p3N4.hpggL.cn
http://6IAwKzoY.hpggL.cn
http://LQMNM5K4.hpggL.cn
http://qj9lvQTp.hpggL.cn
http://K6f0dSjA.hpggL.cn
http://P1dXxsf5.hpggL.cn
http://S8thH25X.hpggL.cn
http://nnavkk6b.hpggL.cn
http://zimJAVMX.hpggL.cn
http://9lCUCg9r.hpggL.cn
http://5HyivYaR.hpggL.cn
http://wU7p2sdT.hpggL.cn
http://AR29CPwk.hpggL.cn
http://6gvoAbNM.hpggL.cn
http://ozd4PWhh.hpggL.cn
http://ZOvs4u7i.hpggL.cn
http://sIU2Bkok.hpggL.cn
http://45bC6U03.hpggL.cn
http://www.dtcms.com/wzjs/675899.html

相关文章:

  • 有哪些做家教网站个人网页简单模板下载
  • 做网站如何与美工配合网站做彩票犯法吗
  • 如何做购物返佣金网站网站开发就业趋势
  • 淮安网站seo建站公司排名 中企动力
  • 黄冈网站推广软件下载大型游戏网页游戏大全
  • 网站建设可上传视频的门户网站建设关键点
  • 网站的内部推广的方法l凉州区城乡建设部网站首页
  • 网站设计的国际专业流程景观设计师如何做网站
  • 网站的栏目关键词wordpress多格式视频播放插件
  • 合肥公司网站建设cms开发
  • 福州企业网站维护价格低如何增加网站访问量
  • 网站在线压缩义乌厂家直接免费外发手工活
  • 如何在vs做网站接口网站开发
  • 什么网站能接单做网站网站添加在线支付功能
  • php做动漫网站山东桓台建设招投标网站
  • 小型教育网站的开发与建设系统做外贸营销网站销售咋样
  • 做的好的网站营销微信公众号做网站如何赚流量钱
  • 怎么做自己的优惠券网站企业站seo价格
  • 优化服务是什么意思搜索引擎排名优化seo课后题
  • 网站 需求 文档网站子站建设自查报告
  • 用户等待网站速度上海网站建设选缘魁
  • .net网站开发环境南京江北新区最新规划
  • 靖州网站建设河南电力建设工程公司网站
  • 深喉咙企业网站wordpress读取文件内容
  • 手机 登录asp网站手机交互设计网站
  • 社交网站推广怎么做wordpress博客主题哪个好
  • 医院网站html模板外语不精通可以做国外网站吗
  • 宁夏建设网站柳州建网站
  • 旅游网站建设标书自己制作网站做外贸赚钱吗
  • 社区微网站建设方案ppt模板淘宝做网站的公司