贪心算法---合并区间

server/2024/12/22 23:35:01/

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

思路:对数组按照元素的start数值升序排列,与前几题相似先判断区间是否重叠,不重叠的直接加入结果集,重叠的更新最大右边界(合并操作)。

代码:

    public int[][] merge(int[][] intervals) {List<int[]> result=new LinkedList<>();//记录结果集Arrays.sort(intervals,(a,b)->Integer.compare(a[0],b[0]));//将数组按照第一个元素的升序排列int start=intervals[0][0];//区间左边界int end=intervals[0][1];//区间右边界for(int i=1;i<intervals.length;i++){if(intervals[i][0]>end){//区间不重叠//加入结果集,更新start,endresult.add(new int[]{start,end});start=intervals[i][0];end=intervals[i][1];}else{//区间重叠,更新最大右边界end=Math.max(end,intervals[i][1]);}}result.add(new int[]{start,end});return result.toArray(new int[result.size()][]);}


http://www.ppmy.cn/server/109560.html

相关文章

第295题|关于 f “(x)f ‘(x)f(x) 的线性组合|武忠祥老师每日一题

这道题需要的前置知识&#xff1a; 已知&#xff1a;,且求证&#xff1a; 因为f(x)-f(x)>0,且>0&#xff0c;所以 ,单调递增。 令, ,得证。 这是一个关于f (x&#xff09;f(x) 的线性组合&#xff0c;所以看到与f (x&#xff09;f(x) 的线性组合就要联想到这个。 下面…

备战秋招60天算法挑战,Day28

题目链接&#xff1a; https://leetcode.cn/problems/climbing-stairs/ 视频题解&#xff1a; https://www.bilibili.com/video/BV1h1421t7W3/ LeetCode 70.爬楼梯 题目描述 假设你正在爬楼梯。需要n阶你才能到达楼顶。 每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到…

.NET WPF 抖动动画

.NET WPF 抖动动画 文章目录 .NET WPF 抖动动画1. WPF 动画的基本概念2. 动画类型3. 使用XAML定义动画4. 使用代码后台定义动画5. 组合动画6. 动画控制7. 自定义动画8. 动画的性能优化9. Demo - 抖动动画1. WPF 动画的基本概念 动画(Animation):在WPF中,动画指的是在一段时…

基于RK3568平台opencv的图像采集、ffmpeg推流和Windows端拉流(多线程)

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、移植流程3.1 编写测试3.2 验证功能一、概述 本章节是针对ffmpeg移植到 Linux系统,运行在RK3568开发板上,首先创建一个线程opencv通过摄像头采集视频图像,接着再创建两个线程,其中一个线程获取采集的视频图像送给ffm…

8.30工作笔记

要做的事情&#xff1a; 1 测试剩下的三个因子&#xff1a;coppock 潮汐因子 云开雾散 2 整理需要时间序列的因子 以及截面因子 3 灾后重建多了一列&#xff0c;灾后重建’所有值都是nan&#xff0c;这里不仅是灾后重建&#xff0c;所有的都要改 4 coppock 潮汐因子 云开雾散在…

JVM介绍

1.虚拟机的概念&#xff1a; 1.所谓虚拟机&#xff08;Virtual Machine&#xff09;&#xff0c;就是一台虚拟的计算机。它是一款软件&#xff0c;用来执行一系列虚拟计算机指令。大体上&#xff0c;虚拟机可以分为系统虚拟机和程序虚拟机。 大名鼎鼎的Visual Box&#xff0c;…

数组、向量与矩阵

问题缘起 在看《矩阵力量》的时候&#xff0c;写到 利用 a numpy.array([4,3]). 严格说&#xff0c;此代码产生的不是行向量&#xff0c;运行 a.ndim 发现 a 只有一个维度。因此&#xff0c;转置 numpy.array([4,3]).T 得到的仍然是一维数组&#xff0c;只不过默认展示方式为…

CSS溢出——WEB开发系列20

在网页设计中&#xff0c;“溢出”是一个常见且重要的概念。它涉及到如何处理那些超出预定范围的内容&#xff0c;以确保网页的布局和视觉效果达到预期。 一、什么是溢出&#xff1f; 在 CSS 中&#xff0c;“溢出”&#xff08;overflow&#xff09;指的是内容超出其包含块的…