leetcode 148. 排序链表 java解法
Problem: 148. 排序链表
思路
这是一个链表排序的问题,由于要求时间复杂度为 O(nlogn),适合使用归并排序(Merge Sort)来解决。
解题方法
- 首先,使用快慢指针找到链表的中间节点,将链表分成两部分。
- 然后,递归地对两个子链表进行排序。
- 最后,合并两个有序的子链表。
复杂度
时间复杂度: O(nlogn)
空间复杂度: O(logn)(递归调用栈的深度)
Code
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode sortList(ListNode head) {if(head == null || head.next == null) {return head;}ListNode slow = head;ListNode fast = head;while(fast.next != null && fast.next.next != null) {slow= slow.next;fast = fast.next.next;}ListNode mid = slow.next;slow.next = null;ListNode left = sortList(head);ListNode right = sortList(mid);return mergeList(left, right);}private ListNode mergeList(ListNode left, ListNode right) {ListNode dummyHead = new ListNode(-1);ListNode cur = dummyHead;while(left != null && right != null) {if(left.val < right.val) {cur.next = left;left = left.next;}else{cur.next = right;right = right.next;}cur = cur.next;}if(left == null) {cur.next = right;}if(right == null) {cur.next = left;}return dummyHead.next;}
}
相关文章:
leetcode 148. 排序链表 java解法
Problem: 148. 排序链表 思路 这是一个链表排序的问题,由于要求时间复杂度为 O(nlogn),适合使用归并排序(Merge Sort)来解决。 解题方法 首先,使用快慢指针找到链表的中间节点,将链表分成两部分。然后&…...

【MATLAB源码-第140期】基于matlab的深度学习的两用户NOMA-OFDM系统信道估计仿真,对比LS,MMSE,ML。
操作环境: MATLAB 2022a 1、算法描述 深度学习技术在无线通信领域的应用越来越广泛,特别是在非正交多址接入(NOMA)和正交频分复用(OFDM)系统中,深度学习技术被用来提高信道估计的性能和效率。…...
运动重定向学习笔记
目录 深度学习 重定向 2020年的模型: 重定向之后的bvh: 深度学习 重定向 输入是bvh,输出也是bvh...
导出Excel,支持最佳
列表信息导出为Excel文件, 依赖pom: Sheet, Row:<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId> </dependency>XSSFWorkbook <dependency><groupId>org.apache.poi</…...
【WPF】获取父控件数据
MaxHeight"{Binding PathActualHeight, RelativeSource{RelativeSource ModeFindAncestor, AncestorTypeUserControl}}" 参考文献 https://www.cnblogs.com/-Timosthetic/p/16021865.html...

解决Edge浏览器,微博无法查看大图(Edge Image Viewer)
使用Edge浏览器浏览微博或其它带校验的图片时,会导致无法查看。 主要原因为Edge自带了一个Edge Image Viewer, 但是该图片查看器无法查看带校验数据的图片,所以导致查看时一片空白。 解决方法 地址栏输入 edge://flags/搜索 Edge Image Viewer选择 Disa…...

PMP含金量在国内怎么样?
其一、PMP(项目管理师)证书含金量高吗? PMP认证是由美国项目管理学会(PMI)在全球范围内推出的针对项目经理的资格认证体系,其证书含金量可以说是非常高。 统计表明,全球年销售收入在5亿美元以上的企业中有86%聘用了具有项目管理资质的项目经…...

java中容易被忽视的toString()方法
之前一直认为toString就是将数据转换成字符类型,直到最近写出了一个bug才对toString有了新的认识 不同数据类型,toString() 有不同的操作 定义一个student类,包含姓名 String类型、性别 String类型、年龄 int 类型、分数列表 String类型的li…...

如何使用Docker搭建YesPlayMusic网易云音乐播放器并发布至公网访问
文章目录 1. 安装Docker2. 本地安装部署YesPlayMusic3. 安装cpolar内网穿透4. 固定YesPlayMusic公网地址 本篇文章讲解如何使用Docker搭建YesPlayMusic网易云音乐播放器,并且结合cpolar内网穿透实现公网访问音乐播放器。 YesPlayMusic是一款优秀的个人音乐播放器&am…...

java面试题之redis篇
1.redis 中的数据类型有哪些 随着 Redis 版本的更新,后面又支持了四种数据类型: BitMap(2.2 版新增)、HyperLogLog(2.8 版新增)、GEO(3.2 版新增)、Stream(5.0 版新增&am…...
effective c++ 笔记 条款18-25
条款18:让接口容易被正确使用,不易误使用 使用外覆类型(wrapper)提醒调用者传参错误检查,将参数的附加条件限制在类型本身 Data::Data(int month, int day, int year) { ... }三个参数类型相同的函数容易造成误用 Da…...

Nginx学习笔记
Bilibili尚硅谷视频 Nginx 简介 Nginx 概述 Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理服务器,特点是占有内存少,并发能力强,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数 。 正向代理 正向代理:如…...
摆(行列式、杜教筛)
有一个 n n n\times n nn 的矩阵 A A A,满足: A i , j { 1 i j 0 i ̸ j ∧ i ∣ j C otherwise A_{i,j}\begin{cases} 1 &ij\\ 0 &i\notj\land i\mid j\\ C &\text{otherwise} \end{cases} Ai,j⎩ ⎨ ⎧10Cijij∧i∣jotherwi…...
尝试以语法对照表格形式学习新语言:c,rust
以语法对照表格形式学习新语言,以rust为例。 关于rust的个人看法: 能否替代c?部分场景可以,长远看并不会。如果c再扩一些关键字,类似cpp的吸星大法式扩充,rust并不具备优势。解决了c的内存管理问题&#x…...

408计算机网络--基础概论
学习计算机网络走以前需要首先明白一个大的概念,计算机网络通常分为通信子网(实现数据通信)和资源子网(实现资源共享/数据处理)七层妖塔 计算机网络:是一个将分散的、具有独立功能的计算机系统࿰…...

数据库应用:kylin 部署 达梦数据库DM8
目录 一、实验 1.环境 2.部署前规划 3.部署达梦数据库DM8 4.创建数据库及数据库事例管理 5.达梦数据库的基本操作 二、问题 1.xhost命令报错 2.执行安装程序DMInstall.bin 报错 3.解压安装程序报错 4.安装程序找不到文件 5.图像化界面打不开 6.安装内存太小 7.打开…...
GO框架基础 (二)、sqlx库
在 Go 语言中,sqlx 包是一个用于数据库操作的库,它建立在标准库的 database/sql 包之上,并提供了一些额外的功能,以简化和增强与数据库的交互。sqlx 的目标是通过提供更方便的 API 和一些附加功能来改善在 Go 中进行 SQL 数据库查…...

Expected class selector “.menuChildMall“ to be kebab-case报错原因
 使用stylelint格式化css文件时候报上述错误: 原因: css类名未使用-分隔符 将类名修改为: .menu-child-mall形式即可...

NC文件不规则裁剪(利用shp文件裁剪)(三)
文章目录 前言实例数据代码部分需要的库加载文件写入地理信息裁剪NC结果 完整代码奉上 前言 Hello大家好呀,最近正好需要用到多个SHP去裁剪NC,按照我以前的两种办法(办法1和办法2)操作的话,我自己都会破防,…...

java 宠物在线商城系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目
一、源码特点 java 宠物在线商城系统是一套完善的java web信息管理系统 servletdaobean mvc模式,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S 模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...