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

微信营销和网站建设执业医师变更注册网站

微信营销和网站建设,执业医师变更注册网站,做网页和网站有什么区别吗,营销策略方案题目 输入k个排序的链表,请将它们合并成一个排序的链表。 分析:利用最小堆选取值最小的节点 用k个指针分别指向这k个链表的头节点,每次从这k个节点中选取值最小的节点。然后将指向值最小的节点的指针向后移动一步,再比较k个指…

题目

输入k个排序的链表,请将它们合并成一个排序的链表。
在这里插入图片描述

分析:利用最小堆选取值最小的节点

用k个指针分别指向这k个链表的头节点,每次从这k个节点中选取值最小的节点。然后将指向值最小的节点的指针向后移动一步,再比较k个指针指向的节点并选取值最小的节点。重复这个过程,直到所有节点都被选取出来。

public class Test {public static void main(String[] args) {ListNode listNode1 = new ListNode(1);ListNode listNode2 = new ListNode(2);ListNode listNode3 = new ListNode(3);ListNode listNode4 = new ListNode(4);ListNode listNode5 = new ListNode(5);ListNode listNode6 = new ListNode(6);ListNode listNode7 = new ListNode(7);ListNode listNode8 = new ListNode(8);ListNode listNode9 = new ListNode(9);listNode1.next = listNode4;listNode4.next = listNode7;listNode2.next = listNode5;listNode5.next = listNode8;listNode3.next = listNode6;listNode6.next = listNode9;ListNode[] lists = {listNode1, listNode2, listNode3};ListNode result = mergeKLists(lists);while (result != null) {System.out.println(result.val);result = result.next;}}public static ListNode mergeKLists(ListNode[] lists) {ListNode dummy = new ListNode(0);ListNode cur = dummy;PriorityQueue<ListNode> minHeap = new PriorityQueue<>((n1, n2) -> n1.val - n2.val);for (ListNode list : lists) {if (list != null) {minHeap.offer(list);}}while (!minHeap.isEmpty()) {ListNode least = minHeap.poll();cur.next = least;cur = least;if (least.next != null) {minHeap.offer(least.next);}}return dummy.next;}
}

分析:按照归并排序的思路合并链表

输入的k个排序链表可以分成两部分,前k/2个链表和后k/2个链表。如果将前k/2个链表和后k/2个链表分别合并成两个排序的链表,再将两个排序的链表合并,那么所有链表都合并了。合并k/2个链表与合并k个链表是同一个问题,可以调用递归函数解决。

public class Test {public static void main(String[] args) {ListNode listNode1 = new ListNode(1);ListNode listNode2 = new ListNode(2);ListNode listNode3 = new ListNode(3);ListNode listNode4 = new ListNode(4);ListNode listNode5 = new ListNode(5);ListNode listNode6 = new ListNode(6);ListNode listNode7 = new ListNode(7);ListNode listNode8 = new ListNode(8);ListNode listNode9 = new ListNode(9);listNode1.next = listNode4;listNode4.next = listNode7;listNode2.next = listNode5;listNode5.next = listNode8;listNode3.next = listNode6;listNode6.next = listNode9;ListNode[] lists = {listNode1, listNode2, listNode3};ListNode result = mergeKLists(lists);while (result != null) {System.out.println(result.val);result = result.next;}}public static ListNode mergeKLists(ListNode[] lists) {if (lists.length == 0) {return null;}return mergeLists(lists, 0, lists.length);}private static ListNode mergeLists(ListNode[] lists, int start, int end) {if (start + 1 == end) {return lists[start];}int mid = (start + end) / 2;ListNode head1 = mergeLists(lists, start, mid);ListNode head2 = mergeLists(lists, mid, end);return merge(head1, head2);}private static ListNode merge(ListNode head1, ListNode head2) {ListNode dummy = new ListNode(0);ListNode cur = dummy;while (head1 != null && head2 != null) {if (head1.val < head2.val) {cur.next = head1;head1 = head1.next;}else {cur.next = head2;head2 = head2.next;}cur = cur.next;}cur.next = head1 == null ? head2 : head1;return dummy.next;}
}
http://www.yayakq.cn/news/91364/

相关文章:

  • 网站不想被百度抓取域名不同网站程序相同
  • 关键词排名网站电脑网页打不开是什么问题
  • 织梦网站栏目访问目录网站备案号添加
  • scratch网站开发wordpress主题范例
  • 徐州手机网站制作电子商务网站 备案
  • 做购物微信网站某某公司网络营销策划书
  • 个人定制网站怎么做手机网站修改
  • 沈阳网站开发集团网站网页制作及优化
  • 乐清品牌网站建设变装app制作教程
  • 响应式高端网站豆瓣fm wordpress
  • 网站开发 待遇怎么样钱多网站
  • 网站手绘教程合肥网站建设培训班
  • 网站后台管理入口做网站老板不发工资我拿尾款
  • 建设部网站监理公告安康市110报警平台
  • 银行内部网站建设建议合肥商城网站建设多少钱
  • 微网站 百度地图直播间网站建设
  • 改成 响应式 网站php网站开发工资多少
  • 电子商务网站开发系统wordpress 去掉文章作者
  • 建材网站建设哪家seo咨询服务
  • 网站建设管理情况汇报网站开发技术一般需要什么语言
  • 网站建设 回本深圳营销型网站建设制作商
  • 免费发布网站建设的平台建设一个网站主要受哪些因素的影响因素
  • 网站备案 取名资讯通不过揭阳自助建站软件
  • 网站支付功能报价长沙做一个网站多少钱
  • 做标书需要用到哪些网站查资料吉安工商注册官方网站
  • 谷歌网站怎么做外链门户网站开发请示
  • 河南省住房和城乡建设厅投诉网站引流推广广告怎么写
  • 做外贸经常用的网站插科打诨WordPress主题
  • 建设网站平台滴滴车html5制作手机端页面
  • 家居seo整站优化方案wordpress 添加按钮