题解 | #合并区间#
合并区间
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 ) { // write code here if(intervals.size()<=1){ return intervals; } intervals.sort(Comparator.comparingInt(i->i.start)); ArrayList<Interval> result = new ArrayList<>();//存放新的数据 Interval current = intervals.get(0); for(int i=0;i<intervals.size();i++){ if(intervals.get(i).start<=current.end){ current.end = Math.max(intervals.get(i).end,current.end); } else{ result.add(current); current = intervals.get(i); } } result.add(current); return result; } }