题解 | 合并区间
合并区间
https://www.nowcoder.com/practice/69f4e5b7ad284a478777cb2a17fb5e6a
import java.util.*;
/*
* public class Interval {
* int start;
* int end;
* public Interval(int start, int end) {
* this.start = start;
* this.end = end;
* }
* }
*/
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param intervals Interval类ArrayList
* @return Interval类ArrayList
*/
public ArrayList<Interval> merge (ArrayList<Interval> intervals) {
if(intervals.size()<=1){
return intervals;
}
intervals.sort((a,b)->a.start-b.start);
ArrayList<Interval> list= new ArrayList<Interval>();
Interval i =intervals.get(0);
list.add(i);
for(int j=1;j<intervals.size();j++){
if(i.start<=intervals.get(j).start&&i.end>=intervals.get(j).start){
i.end=Math.max(i.end,intervals.get(j).end);
}else{
list.add(intervals.get(j));
i=intervals.get(j);
}
}
return list;
// write code here
}
}
先按照start进行排序,在用第一个值依次往后比较选择合并与不合并

海康威视公司福利 1125人发布