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

怎样做才能让百度前两页有自己网站内容网销怎么做才能做好

怎样做才能让百度前两页有自己网站内容,网销怎么做才能做好,wordpress官方主题教程,wordpress怎么seo23. 合并 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://www.tj-hxxt.cn/news/54720.html

相关文章:

  • 美橙网站建设怎么做怎样做推广
  • 做再生资源的网站有哪些厦门seo推广
  • 建立公司需要多少资金海淀区seo多少钱
  • asp网站如何做伪静态seo推广技术培训
  • 什么网站做外贸最多的怎样免费制作网页
  • 怎么让网站被搜索到厦门关键词排名提升
  • 贵州省贵州省建设厅网站网页开发工具
  • 东莞公司网站制作公司公司网络推广网站
  • seo排名优化工具网站优化推广的方法
  • 青岛网站建设公司怎么样市场推广和销售的区别
  • 中国制造网网站女生做sem还是seo
  • 独立网站建设流程昆山网站制作哪家好
  • 网站咨询弹窗是怎么做的seo关键词优化公司
  • 课外辅导东莞网站建设技术支持百度网站怎么申请注册
  • 备案需要网站吗直播回放老卡怎么回事
  • wordpress 电台网站优化是什么梗
  • 网站添加属性网络营销工具和方法
  • 徐州模板网站托管平台跨界营销案例
  • 给别人做网站要问什么问题网络营销推广工具
  • b站推广网站2024年不用下载杭州百度seo优化
  • 视频网站做app还是h5珠海seo推广
  • 东莞做营销型网站线上培训机构
  • 公司创建网站要多少钱seo文章推广
  • 网站备案变更 能让首页关闭 二级域名继续互联网营销方案策划
  • 做渠道的网站有哪些方面10种营销方法
  • 申请注册公司流程及费用seo渠道是什么意思
  • 英文网站建设免费上海网站建设哪家好
  • 建立网站的链接结构有哪几种形式?泉州百度网络推广
  • 网站怎么做优化步骤竞价sem托管
  • 网站开发品牌seo的全称是什么