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

网站建设管理人员哪个网站做的系统好用

网站建设管理人员,哪个网站做的系统好用,如何用易语言做网站,客户网站制作管理系统题目: 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释&#xff1a…

题目:

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

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

示例 1:

输入:lists = [[1,4,5],[1,3,4],[2,6]]
输出:[1,1,2,3,4,4,5,6]
解释:链表数组如下:
[1->4->5,1->3->4,2->6
]
将它们合并到一个有序链表中得到。
1->1->2->3->4->4->5->6

 这题虽然是困难题,但是思路很清晰,很好理解,主要借助最小堆,因为最小堆有着将最小的元素置为堆顶的性质,所以每次取最小值时将最小堆的头推出即可。

并且使用dummy作为结果的头结点返回。代码及思路如下:

  1. 创建最小堆
    • 使用 PriorityQueue 作为最小堆,并定义比较器来比较节点的值。
  2. 初始化最小堆
    • 遍历所有链表,将每个链表的头节点(如果不为空)加入最小堆。
  3. 创建结果链表
    • 使用一个哑节点(dummy node)来简化头节点的处理。
  4. 合并过程
    • 当最小堆不为空时,重复以下步骤:
      a. 从堆中取出值最小的节点。
      b. 将这个节点添加到结果链表的末尾。
      c. 如果这个节点还有下一个节点,将下一个节点加入堆中。
  5. 返回结果
    • 返回哑节点的下一个节点,即合并后链表的真正头节点。

 复杂度分析

  • 时间复杂度:O(N log K),其中 N 是所有节点的总数,K 是链表的数量。
    每个节点都会被加入和取出堆一次,每次堆操作的时间复杂度是 O(log K)。
  • 空间复杂度:O(K),优先队列中最多同时存在 K 个节点。
import java.util.Comparator;
import java.util.PriorityQueue;public class no_23 {public static void main(String[] args) {ListNode l1 = new ListNode(1, new ListNode(4, new ListNode(5)));ListNode l2 = new ListNode(1, new ListNode(3, new ListNode(4)));ListNode l3 = new ListNode(2, new ListNode(6));ListNode[] lists = {l1, l2, l3};// 合并链表ListNode result = mergeKLists(lists);// 打印结果while (result != null) {System.out.print(result.val + " ");result = result.next;}}public static ListNode mergeKLists(ListNode[] lists) {//  最小堆PriorityQueue<ListNode> minHeap = new PriorityQueue<>(Comparator.comparingInt(a -> a.val));//  将所有的链表头节点加入最小堆for (ListNode head : lists) {if (head != null) {minHeap.offer(head);}}ListNode dummy = new ListNode(0);ListNode tail = dummy;while (!minHeap.isEmpty()) {ListNode node = minHeap.poll();tail.next = node;tail = tail.next;if (node.next != null) {minHeap.offer(node.next);}}return dummy.next;}
}
class ListNode {int val;ListNode next;ListNode(int x) {val = x;next = null;}ListNode(int val, ListNode next) {this.val = val;this.next = next;}
}

http://www.yayakq.cn/news/725743/

相关文章:

  • 建网站深圳网站建设汇报会
  • 如何用ps做网站首页图片山东建设银行招聘网站
  • 西安 h5网站建设厦门seo外包服务
  • 良品铺子网站规划和建设定做网站建设
  • 聚美优品网站建设策划书自己可以做小程序商城吗
  • 成都微网站开发网站建设的基本流程是什么
  • 炉火建站高级网站开发技术使用什么语言
  • 大型购物网站建设方案中国建设银行个人账户查询
  • 新开传奇网站发布网孞亳州电商网站建设
  • 免费的企业网页制作网站当前网站开发的语言
  • 做360手机网站快速营销推广活动策划方案
  • 三亚网站建设方案陕西网站建设公司找哪家
  • 海口建设局网站wordpress没有php.ini
  • 展示型网站建设公司做网站的一般要多少钱
  • 5118站长网站做电脑网站手机能显示不出来怎么办啊
  • 广州建设网站的公司简介做游戏音频下载网站
  • 做直播网站wordpress the_content() 不显示
  • 四川个人网站备案丽江网站建设
  • 北京响应式网站开发贵州网架公司
  • 企业建设网站好吗入门级网页设计培训学员
  • 建设工程网站什么时候可以同步wordpress打字不显示
  • 建设局哪个网站查证怎么弄网址
  • 如何建双注册网站微信公众号二维码
  • 佛山网站优化好做淘宝的导购网站
  • php网站开发防注入中国建设部
  • 可以上传图片的公司网站永久免费的连外网的软件
  • 网站建设模板怎么做住宅与建设部网站
  • 苏州市建设厅网站网站接入服务商是什么
  • 鹰潭网站建设公司wordpress如何导航网站模板下载
  • 丽水网站建设专业的公司欧美最火的社交网站怎么做