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

力扣 LCR 078 合并K个升序链表

思路 + 解题过程

分治合并

LeetCode 21题 合并两个有序链表 相似 只是在此题的基础上增加了链表的数量。
使用递归将链表数组不断分成两半,直到分成的小组都只剩下一个链表元素为止,随后开始合并链表。

复杂度

  • 时间复杂度: O(N * logK) K 为 链表(lists) 的个数,n 为所有链表的节点数之和。
  • 空间复杂度: O(logK) 递归的深度为 logK

    代码实现

    class Solution {public ListNode mergeKLists(ListNode[] lists) {if (lists.length == 0)return null;return merge(lists, 0, lists.length - 1);}public ListNode merge(ListNode[] lists, int start, int end) {if (start == end)return lists[start];int mid = (start + end) >>> 1;ListNode pa = merge(lists, start, mid);ListNode pb = merge(lists, mid + 1, end);return mergeSort(pa, pb);}public ListNode mergeSort(ListNode pa, ListNode pb) {ListNode target = new ListNode(0);ListNode temp = target;while(pa != null && pb != null){if(pa.val < pb.val){temp.next = pa;pa = pa.next;}else{temp.next = pb;pb = pb.next;}temp = temp.next;}temp.next = pa != null ? pa : pb; return target.next;}
    }
    

            也可以通过for循环遍历的方式依次合并链表,不过时间复杂度会有所提升。

    相关文章:

    力扣 LCR 078 合并K个升序链表

    思路 解题过程 分治合并 与 LeetCode 21题 合并两个有序链表 相似 只是在此题的基础上增加了链表的数量。 使用递归将链表数组不断分成两半&#xff0c;直到分成的小组都只剩下一个链表元素为止&#xff0c;随后开始合并链表。 复杂度 时间复杂度: O(N * logK) K 为 链表(li…...

    【hive】记一次hiveserver内存溢出排查,线程池未正确关闭导致

    一、使用 MemoryAnalyzer软件打开hprof文件 很大有30G&#xff0c;win内存24GB&#xff0c;不用担心可以打开&#xff0c;ma软件能够生成索引文件&#xff0c;逐块分析内存&#xff0c;如下图。 大约需要4小时。 overview中开不到具体信息。 二、使用Leak Suspects功能继续…...

    React Native 开发 安卓项目构建工具Gradle的配置和使用

    gradle基本知识 gradle是React Native和Flutter调试、构建安卓App的打包工具。 gradle可以简单的类比为前端的webpack&#xff0c;webpack将源文件打包成HTML、CSS、JavaScript&#xff0c;而gradle将源文件打包成apk或aar&#xff08;Android Assemble Bundle&#xff09;。…...

    IntelliJ IDEA新版本的底部version control(或git)里local change窗口显示配置修改详细教程

    环境 IntelliJ IDEA 2024.3.2.2 (Ultimate Edition) Runtime version: 21.0.58-b631.30 aarch64 (JCEF 122.1.9) macOS 14.2.1 自己记录下。 步骤 设置 --> Version Control(版本控制) --> Commit(提交) --> 去掉勾选&#xff1a;Use non-modal commit interface…...

    MySQL三大日志——binlog、redoLog、undoLog详解

    日志是mysql数据库的重要组成部分&#xff0c;记录着数据库运行期间各种状态信息&#xff0c;能帮助我们进行很多容错及分析工作&#xff0c;其中有三大日志与我们这些开发者息息相关&#xff0c;本文将介绍binlog、redoLog、undoLog三种日志&#xff1a; 1. redoLog 1.1 为什么…...

    MCU应用踩坑笔记(ADC 中断 / 查询法)

    问题描述 IC&#xff1a;SC92F7596,在使用过程中&#xff0c;发现一个问题&#xff0c;就是我们使用到了ADC功能&#xff0c;程序的代码如下&#xff1a; ADC采样周期200ms &#xff0c;采样个数&#xff1a;4 在使用过程中&#xff0c;因配置了ADC中断使能&#xff0c;在中断…...

    32.日常算法

    1.最大子数组和 题目来源 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。子数组是数组中的一个连续部分。 示例 1&#xff1a; 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,…...

    通过docker安装部署deepseek以及python实现

    前提条件 Docker 安装:确保你的系统已经安装并正确配置了 Docker。可以通过运行 docker --version 来验证 Docker 是否安装成功。 网络环境:保证设备有稳定的网络连接,以便拉取 Docker 镜像和模型文件。 步骤一:拉取 Ollama Docker 镜像 Ollama 可以帮助我们更方便地管理…...

    批量提取word表格数据到一个excel

    新建一个excel到word同级目录altf11打开vba窗口并新建模块粘贴下方代码&#xff08;修改一些必要参数&#xff09;回到excel表格界面&#xff0c;altf8选择执行该宏注意要在信任中心开启运行vba宏 Sub 批量提取word表格数据到excel()Dim wdApp As Object, wdDoc As ObjectDim …...

    使用 Axios 获取用户数据并渲染——个人信息设置

    目录 1. HTML 部分&#xff08;前端页面结构&#xff09; HTML 结构解析&#xff1a; 2. JavaScript 部分&#xff08;信息渲染逻辑&#xff09; JavaScript 解析&#xff1a; 3. 完整流程 4. 总结 5. 适用场景 本文将介绍如何通过 Axios 从服务器获取用户信息&#xff0…...

    DeepSeek在FPGA/IC开发中的创新应用与未来潜力

    随着人工智能技术的飞速发展&#xff0c;以DeepSeek为代表的大语言模型&#xff08;LLM&#xff09;正在逐步渗透到传统硬件开发领域。在FPGA&#xff08;现场可编程门阵列&#xff09;和IC&#xff08;集成电路&#xff09;开发这一技术密集型行业中&#xff0c;DeepSeek凭借其…...

    【GitLab CI/CD 实践】从 0 到 1 搭建高效自动化部署流程

    网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…...

    【DeepSeek-R1训练笔记】随手记录一些训练log

    背景说明 DeepSeek系列解读请移步我的上一篇blog&#xff1a;【完整版】DeepSeek-R1大模型学习笔记&#xff08;架构、训练、Infra&#xff09;代码仓库【科大的大四老哥太太太太太值得倾佩了】&#xff1a;https://github.com/Unakar/Logic-RLDeepSeek-R1-Zero复现文档&#…...

    【自开发工具介绍】SQLSERVER的ImpDp和ExpDp工具04

    SQLSERVER的ImpDp和ExpDp工具演示 1、指定某些表作为导出对象外 (-exclude_table) 验证用&#xff1a;导出的表&#xff0c;导入到新的数据库 2、指定某些表作为导出对象外 (-exclude_table) 支持模糊检索&#xff0c;可以使用星号 以s开头的表作为导出对象外&#xff0c;…...

    「全网最细 + 实战源码案例」设计模式——策略模式

    核心思想 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式&#xff0c;用于定义一系列算法或策略&#xff0c;将它们封装成独立的类&#xff0c;并使它们可以相互替换&#xff0c;而不影响客户端的代码&#xff0c;提高代码的可维护性和扩展性。 结构 …...

    [MoeCTF 2022]baby_file

    题目 <html> <title>Heres a secret. Can you find it?</title> <?phpif(isset($_GET[file])){$file $_GET[file];include($file); }else{highlight_file(__FILE__); } ?> </html> 读取flag /?filephp://filter/readconvert.base64-encode…...

    【AI日记】25.02.07 探索开辟第二战场

    【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】【AI应用】 探索 探索如何做视频博主一边坚持主攻方向&#xff08; 找工作&#xff0c;包括 AI 学习和 kaggle比赛&#xff09;&#xff0c;一边尝试开辟第二战场&#xff08;比如&#xff1a;视…...

    path 路径模块

    在开发基于 Node.js 的应用程序时&#xff0c;处理文件路径是一个常见的需求。为了简化这一过程并避免跨平台兼容性问题&#xff0c;Node.js 提供了 path 模块。该模块提供了一系列实用的方法来解析、格式化和操作文件路径。本文将详细介绍 path 模块的功能及其使用方法&#x…...

    SpringBoot中的多环境配置管理

    SpringBoot中的多环境配置管理 文章目录 SpringBoot中的多环境配置管理SpringBoot中的多环境配置管理 多环境配置的概述1. 为什么需要多环境配置&#xff1f;2. Spring Boot 中如何实现多环境配置&#xff1f;3. 多环境配置的应用场景4. 如何实现配置隔离&#xff1f; Spring B…...

    mac下生成.icns图标

    笔记原因&#xff1a; 今日需要在mac下开发涉及图标文件的使用及icons文件的生成&#xff0c;所以记录一下。 网络上都是一堆命令行需要打印太麻烦了&#xff0c;写一个一键脚本。 步骤一 将需要生成的png格式文件重命名为“pic.png” mv xxxx.png pic.png 步骤二 下载我…...

    龙虎榜——20250610

    上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

    conda相比python好处

    Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

    VB.net复制Ntag213卡写入UID

    本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

    day52 ResNet18 CBAM

    在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

    STM32标准库-DMA直接存储器存取

    文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

    【论文笔记】若干矿井粉尘检测算法概述

    总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

    【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

    要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

    用docker来安装部署freeswitch记录

    今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

    MySQL用户和授权

    开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

    MySQL账号权限管理指南:安全创建账户与精细授权技巧

    在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...