题解 | #合并区间#

合并区间

https://www.nowcoder.com/practice/69f4e5b7ad284a478777cb2a17fb5e6a

public class Solution {
    public ArrayList<Interval> merge(ArrayList<Interval> intervals) {
        ArrayList<Interval> res = new ArrayList<>();
        if(intervals.size()==0) return intervals;
        Collections.sort(intervals,(Interval a,Interval b)->(a.start-b.start));
        res.add(intervals.get(0));
        for(int i=1;i<intervals.size();i++){
            Interval tmp = res.get(res.size()-1);
            if(tmp.start<=intervals.get(i).end && tmp.end>=intervals.get(i).start){
                res.remove(res.size()-1);
                res.add(new Interval(Math.min(tmp.start,intervals.get(i).start),Math.max(tmp.end,intervals.get(i).end)));
            }else{
                res.add(intervals.get(i));
            }
        }
        return res;
    }
}

全部评论

相关推荐

VIVO 软件测试开发项目经理 税前27W 双非硕士
在写bug的小鱼干很想喝咖啡:这个岗不太了解,但实习的时候感觉蓝厂并不养老
点赞 评论 收藏
分享
你是来当牛马的吧:行了,照片拍完了,让大家都回工位吧
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务