news 2026/5/10 10:19:25

力扣56 合并区间 java实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣56 合并区间 java实现

56.合并区间

以数组intervals表示若干个区间的集合,其中单个区间为intervals[i] = [starti, endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间

示例 1:

输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].

示例 2:

输入:intervals = [[1,4],[4,5]]输出:[[1,5]]解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。

示例 3:

输入:intervals = [[4,7],[1,4]]输出:[[1,7]]解释:区间 [1,4] 和 [4,7] 可被视为重叠区间。

提示:

  • 1 <= intervals.length <= 104
  • intervals[i].length == 2
  • 0 <= starti <= endi <= 104

按左边界先排序,让所有的相邻区间尽可能的重叠在一起,若intervals[i][0] <= intervals[i - 1][1]则说明区间有重叠,此时左区间为intervals[i - 1][0],右区间为intervals[i][1] 和 intervals[i - 1][1]中较大的那个,具体实现如下:

public static void main(String[] args) { // 测试用 int[][] nums = {{1,3},{2,6},{8,10},{15,18}}; int[][] res = merge(nums); for (int[] ints : res) { System.out.println(Arrays.toString(ints)); } } public static int[][] merge(int[][] intervals) { if (intervals.length < 2){ return intervals; } Arrays.sort(intervals,(a,b) ->{ if (a[0] == b[0]){ return a[1] - b[1]; } return a[0] - b[0]; }); List<int[]> list = new ArrayList<>(); for (int i = 1; i < intervals.length; i++) { if (intervals[i][0] <= intervals[i - 1][1]){ intervals[i][0] = intervals[i - 1][0]; intervals[i][1] = Math.max(intervals[i][1], intervals[i - 1][1]); }else { list.add(intervals[i - 1]); } if (i == intervals.length - 1){ list.add(intervals[i]); } } int[][] res = list.toArray(new int[list.size()][]); return res; }

以上为记录分享用,代码较差请见谅

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 0:41:58

绷不住了!华为挖穿系统地基硬刚,鸿蒙6.0让国产科技扬眉吐气

鸿蒙开发课程 鸿蒙6.0的发布&#xff0c;从来不是一次普通的系统更新。当开机界面那行“PoweredbyOpenHarmony”取代“PoweredbyAndroid”时&#xff0c;中国科技产业终于撕掉了“技术附庸”的标签。没人敢想&#xff0c;替换一行代码的背后&#xff0c;是华为用十五年时间&…

作者头像 李华
网站建设 2026/5/1 16:59:32

Slack工作区通知:HeyGem生成每日摘要视频

Slack工作区通知&#xff1a;HeyGem生成每日摘要视频 在远程办公成为常态的今天&#xff0c;Slack早已不只是一个聊天工具——它承载着团队的知识流动、决策轨迹和协作节奏。但随之而来的信息洪流也让许多成员陷入“消息焦虑”&#xff1a;上百条未读、多个频道切换、错过关键讨…

作者头像 李华
网站建设 2026/5/2 4:45:51

北京楚珩医疗科技有限公司的使命和愿景是什么?

立足国家中医药高质量发展的时代浪潮&#xff0c;北京楚珩医疗科技有限公司始终坚守“专注新中医事业&#xff0c;为健康生活不懈奋斗”的核心使命&#xff0c;怀揣“让新中医治疗走进千家万户”的美好愿景深耕行业。公司以技术创新为内核&#xff0c;打磨如“理易揿针”般兼具…

作者头像 李华
网站建设 2026/5/3 6:56:24

python+selenium的web自动化之元素的常用操作

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 今天呢&#xff0c;笔者想和大家来聊聊pythonselenium的web自动化之元素的常用操作&#xff0c;废话不多说直接进入主题吧&#xff01;一、常用操作关键代码&a…

作者头像 李华
网站建设 2026/5/1 3:40:54

接口测试用例编写和接口测试模板详解

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快一、简介接口测试区别于传统意义上的系统测试&#xff0c;下面介绍接口测试用例和接口测试报告。二、接口测试用例模板功能测试用例最重要的两个因素是测试步骤和预…

作者头像 李华
网站建设 2026/5/9 12:17:32

Python PySerial 库

PySerial 是 Python 中用于串口&#xff08;UART&#xff09;通信的跨平台第三方库&#xff0c;支持 Windows、Linux、macOS 等多种操作系统&#xff0c;提供了简洁、一致的 API 用于串口设备的读写和控制。1. 安装 PySerial在开始使用前&#xff0c;需要通过 pip 安装该库。pi…

作者头像 李华