56.合并区间(java)

题目描述:

1.先判断给定intervals是否为空或者大小是否为1,是则直接返回intervals。

2.对intervals进行排序

        数组形式则使用:Arrays.sort(intevals,(a,b)->Integer.compare(a[0],b[0]));

        ArrayList形式:intervals.sort((a,b)->Integer.compare(a[0],b[0]));

3.创建结果集存储合并后的区间,将第一个区间添加到res,然后开始遍历intervals数组比较合并

数组形式:ArrayList<int[]> res = new ArrayList<>();

定义区间节点形式:ArrayList<Interval> res = new ArrayList<>();

                public class Interval{

                        int start;

                        int end;

                        Interval(){start=0;end=0;}

                        Interval(int s,int e) {start=s;end=e}

                 }

4.开始比较(以数组形式为例)

        for(int i=1;i<intervals.length;i++){

                int[] a=intervals[i];

                int[] b=res.get(res.size()-1);  // 拿结果集的最后一个区间进行比较

                if(b[1]<a[0])   //无法合并,直接将数组a加入到res结果集

                        res.add(a);

                else

                        b[1]=Math.max(a[1],b[1]);     // 合并,更新右区间

         }

5.返回结果(以数组为例)

        return res.toArray(new int[res.size()][]);

class Solution {public int[][] merge(int[][] intervals) {// 首先区间是否为空和是否为一个区间ArrayList<int[]> res = new ArrayList<>();if(intervals.length==0||intervals.length==1)return intervals;// 排序Arrays.sort(intervals,(a,b)->Integer.compare(a[0],b[0]));res.add(intervals[0]);for(int i=1;i<intervals.length;i++){int[] a=intervals[i];int[] b=res.get(res.size()-1);if(b[1]<a[0]) res.add(a);else b[1]=Math.max(a[1],b[1]);}return res.toArray(new int[res.size()][]);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/906149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis设计与实现——Redis命令参考与高级特性

Redis命令参考 数据类型相关命令 SET&#xff1a;设置键值&#xff0c;支持过期时间、不存在/存在条件。GET&#xff1a;获取键值&#xff0c;若键不存在返回 nil。INCR/DECR&#xff1a;将键的整数值增1/减1&#xff0c;键不存在时初始化为0。MSET/MGET&#xff1a;批量设置…

基于 STM32 的全自动洗车监控系统设计与实现

摘要 本文提出一种基于 STM32F103RCT6 芯片的全自动洗车监控系统方案,通过多传感器融合与智能控制算法,实现车辆检测、洗车流程自动化及状态远程监控。系统集成硬件选型、电路设计、软件流程及通信功能,可广泛应用于智能洗车场景。 一、硬件系统设计 1. 核心芯片选型 主控…

掌握Multi-Agent实践(七):基于AgentScope分布式模式实现多智能体高效协作[并行加速大模型辅助搜索、分布式多用户协同辩论赛]

之前的案例都是运行在单台机器上以单进程形式运行,受限于 Python 的全局解释器锁,实际只能有效利用一个 CPU 的计算资源,并且无法支持多个用户从自己的电脑上接入同一个 Multi-Agent 应用进行交互。为了提高运行效率并支持多用户接入同一个应用中,AgentScope 提供了分布式…

docker-compose部署项目(springboot服务)以及基础环境(mysql、redis等)ruoyi-ry

上传jar 配置文件等 到目录&#xff1a;/home/ruoyi/docker 设置权限 chmod x *.sh 开通端口&#xff08;我已经开通了&#xff09; sh ./deploy.sh port 开始构建 docker-compose build 构建成功 可以先拉取镜像 docker pull nacos/nacos-server docker pull nginx docker …

Axure疑难杂症:统计分析页面引入Echarts示例动态效果

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:统计分析页面引入Echarts示例动态效果 主要内容:echart示例引入、大小调整、数据导入 应用场景:统计分析页面…

如何使用WordPress创建美食博客

不管你是否意识到&#xff0c;食物是我们生活的核心。有些人将其用作燃料&#xff0c;而另一些人则将食谱作为一种艺术形式呈现。如果您属于后者&#xff0c;并且想创建一个美食博客来分享您的热情&#xff0c;那么WordPress是一个顶级平台。 几乎每个话题都有一个博客利基&am…

【MySQL】库与表的操作

一、库的操作 1. 查看数据库 语法&#xff1a;show databases;这里的database是要加s的 查看当前自己所处的数据库&#xff1a;select database(); 例如下图&#xff0c;我当前所处的数据库就是在class1数据库 2. 创建数据库 语法&#xff1a;create database [if not e…

Unity3D开发AI桌面精灵/宠物系列 【六】 人物模型 语音口型同步 LipSync 、梅尔频谱MFCC技术、支持中英文自定义编辑- 基于 C# 语言开发

Unity3D开发AI桌面精灵/宠物系列 【六】 人物模型 语音口型同步 LipSync 、梅尔频谱MFCC技术 C# 语言开发 该系列主要介绍怎么制作AI桌面宠物的流程&#xff0c;我会从项目开始创建初期到最终可以和AI宠物进行交互为止&#xff0c;项目已经开发完成&#xff0c;我会仔细梳理一下…

MoonBit正式入驻GitCode!AI时代的编程语言新星,开启高性能开发新纪元

在AI与编程语言深度交融的今天&#xff0c;开发者们正见证一场技术生产力的革命。由IDEA研究院基础软件中心倾力打造的MoonBit&#xff08;月兔&#xff09;编程语言&#xff0c;自2023年横空出世以来&#xff0c;凭借高性能、低延迟、轻量化的特性&#xff0c;迅速成为全球开发…

LLMs:《POE报告:2025年春季人工智能模型使用趋势》解读

LLMs&#xff1a;《POE报告&#xff1a;2025年春季人工智能模型使用趋势》解读 导读&#xff1a;2025年5月13日&#xff0c;该报告基于 Poe 平台的用户数据&#xff0c;分析了 2025 年春季人工智能模型的使用趋势。报告指出&#xff0c;人工智能格局快速演变&#xff0c;通用文…

STM32 之网口资源

1 网口资源介绍 STM32F407 是 STMicroelectronics 推出的高性能 ARM Cortex-M4 微控制器&#xff0c;具备多种外设接口&#xff0c;其中包括一个 Ethernet MAC 控制器&#xff08;带 IEEE 1588 支持&#xff09;。这意味着你可以使用 STM32F407 实现网络通信功能&#xff08;通…

Almalinux中出现ens33 ethernet 未托管 -- lo loopback 未托管 --如何处理:

解决 AlmaLinux 中网络接口 ens33 和 lo 显示为“未托管”的问题 当 AlmaLinux 系统中的网络接口&#xff08;如 ens33 和 lo&#xff09;显示为“未托管”时&#xff0c;这意味着这些接口没有被 NetworkManager 正常管理。以下是详细的分析和解决方案&#xff1a; 1. 检查 N…

数据库中关于查询选课问题的解法

前言 今天上午起来复习了老师上课讲的选课问题。我总结了三个解法以及一点注意事项。 选课问题介绍 简单来说就是查询某某同学没有选或者选了什么课。然后查询出该同学的姓名&#xff0c;学号&#xff0c;课程号&#xff0c;课程名之类的。 sql文件我上传了。大家可以尝试练…

Qt图表库推荐指南与分析

目录 一、核心图表库横向对比1. Qt Charts2. QCustomPlot3. QWT (Qt Widgets for Technical Applications)4. KD Chart 二、性能与功能对比矩阵三、选型策略与组合方案1. 通用型需求&#xff1a;2. 技术型场景&#xff1a;3. 企业级开发&#xff1a; 四、未来趋势与避坑指南1. …

LangGraph 2 - 智能体开发、流式传输、模型调用、工具、MCP、上下文、内存、人机协同、部署、UI

文章目录 使用LangGraph进行智能体开发什么是智能体&#xff1f;核心特性高层构建模块包生态系统 运行代理基础用法输入与输出输入格式使用自定义 Agent 状态 输出格式流式输出最大迭代次数其他资源 流式传输代理进度监控LLM 令牌工具更新流式多模态传输禁用流式传输其他资源 L…

Android同屏采集并推送RTMP和启动轻量级RTSP服务技术实践

随着视频直播需求的不断提升&#xff0c;如何实现高效的实时视频采集和推流&#xff0c;成为了开发者们关注的重点。本文将结合大牛直播SDK&#xff0c;介绍如何在 Android 平台实现 同屏采集、推送 RTMP 流&#xff0c;以及如何启动轻量级 RTSP 服务&#xff0c;让开发者快速搭…

如何自定义 Spring MVC 的配置?

我们可以通过实现 WebMvcConfigurer 接口来自定义 Spring MVC (尤其是在 Spring Boot 环境中) 的配置。 以下是通过实现 WebMvcConfigurer 接口的配置方法&#xff1a; 核心&#xff1a;创建一个 Configuration 类并实现 WebMvcConfigurer import org.springframework.conte…

如何提升新加坡SAP实施成功率?解答中企出海的“税务合规密码” | 工博科技SAP金牌服务商

目录 中新双边经贸合作概况 ​编辑 新加坡数字化实施核心挑战 一、财税合规体系适配 税务申报差异 会计准则协同 二、人力资源合规管理 薪酬体系配置 数据安全规范 企业实施建议方案 一、系统建设策略 选择具备以下资质的实施服务商&#xff1a; 构建标准化功能模块…

人工智能视角下的安全:可视化如何塑造恶意软件检测

摘要 恶意软件是一种持续存在的网络安全威胁&#xff0c;它越来越多地通过复杂的攻击向量&#xff0c;瞄准互连的数字系统&#xff0c;如桌面、移动和物联网平台。通过利用这些漏洞&#xff0c;攻击者会损害现代数字生态系统的完整性和弹性。为了应对这一风险&#xff0c;安全…

游戏引擎学习第293天:移动Familiars

回顾并为今天的内容定下基调 我们正在做一款完整的游戏&#xff0c;今天的重点是“移动模式”的正式化处理。目前虽然移动机制大致能运作&#xff0c;但写法相对粗糙&#xff0c;不够严谨&#xff0c;我们希望将其清理得更规范&#xff0c;更可靠一点。 目前脑逻辑&#xff0…