题解 | #合并区间#

合并区间

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;

    }



}

全部评论

相关推荐

迷茫的大四🐶:现在是幻想时间查看图片
双非本科的出路是什么?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务