首页 > 其他分享 >56. Merge Intervals

56. Merge Intervals

时间:2022-11-12 23:23:40浏览次数:51  
标签:56 end Intervals int Interval Merge intervals return start

Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input.

 

Example 1:

Input: intervals = [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]
Explanation: Since intervals [1,3] and [2,6] overlap, merge them into [1,6].

Example 2:

Input: intervals = [[1,4],[4,5]]
Output: [[1,5]]
Explanation: Intervals [1,4] and [4,5] are considered overlapping.

 

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

public List<Interval> merge(List<Interval> intervals) {//List尖括号里的元素是Interval
if (intervals.size() <= 1)
return intervals;

Collections.sort(intervals, new Comparator() {
public int compare(Interval i1, Interval i2) {
return i1.start - i2.start;
}
});

int i = 0;
while (i < intervals.size() - 1) {
Interval current = intervals.get(i);
Interval next = intervals.get(i + 1);
if (next.start <= current.end) { //如[1,3],[2,6]的情况
int max = Math.max(next.end, current.end);
current.end = max;
intervals.remove(i + 1); //可以根据索引值remove
} else { //如[1,3],[4,6]的情况
i++;
}
}
return intervals;
}

标签:56,end,Intervals,int,Interval,Merge,intervals,return,start
From: https://www.cnblogs.com/MarkLeeBYR/p/16885012.html

相关文章

  • 各种CPU的ELF编码,ELF并没有为龙芯分配253-256
    关于龙芯公布的ELF编码邮件ReservedELFmachinenumbersEM_LS253toEM_LS256>>>Hi,>>>>>>IreservedELFmachinenumbers253-256forLoongson.>>>>>>The255......
  • Oracle 19C学习 - 19. MERGE语句
    Merge语句的作用Merge语句可以根据不同条件,获取插入、更新、删除数据表中的行,然后从一个或者多个数据源头对表进行更新或向表中插入行。Merge语句的语法MERGEINTO表名......
  • st_linemerge::将输入的MultiLineString连接成一个或多个LineString。
    DescriptionReturnsaLineStringorMultiLineStringformedbyjoiningtogetherthelineelementsofaMultiLineString.Linesarejoinedattheirendpointsat2......
  • CodeForces - 1156D 0-1-Tree
    题意:给出一棵树,树的边权只有0和1。求有多少有序点对,其最短路径上每条权值为0的边不紧跟在权值为1的边后面。解:合法路径如下所示:000000 111111 000111 随便找个结点为......
  • 560.和为k的子数组
    给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数 。示例1:输入:nums=[1,1,1],k=2输出:2示例2:输入:nums=[1,2,3......
  • 白嫖永久服务器1668060025667
    阿贝云服务器注册免费领取1核1g内存5m宽带10g内存的云服务器,对于个人来说完全够用了。还有免费备案和虚拟主机,免备案对于搭建个人博客就很方便,部署了小项目上去,运行流畅不......
  • 紧急模式(emergency mode)问题处理方法
    问题现象Linux系统启动时进入紧急模式,提示:Welcometoemergencymode,如图1所示,并提示输入root密码进入维护。图1 紧急模式根因分析紧急模式提供尽可能最小的环境,即......
  • RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
    前言  buildroot虽然灵活,但是基于实际情况,本身是侧重驱动和应用定制开发的只定制一次文件系统投入有点多,还不如直接ubunt自己交叉编译依赖库,做一些库的移植裁剪。 ......
  • CF1056G Take Metro 题解
    *2900的题,评到黑题是因为std做法要用可持久化平衡树,然而有一种更简洁的做法。注意到\(t\)很大,然后每一步只和\(t\bmodn\)的大小有关系,因此你想先求出\(t=n\)时......
  • HDU 5605 geometry
    ProblemDescriptionThereisapoint  atcoordinate .Alinegoesthroughthepoint,andintersectswiththepostivepartof  axesatpoint .Plea......