码迷,mamicode.com
首页 > 其他好文 > 详细

57. 插入区间 - LeetCode

时间:2021-03-17 14:30:31      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:target   code   max   com   区间   OLE   区间合并   list   get   

57. 插入区间

题目链接

枚举

  • 枚举每个区间,判断该区间与需要插入的区间是否相交
  • 若不相交,且比需要插入的区间小,那么直接放入List中
  • 若不相交,但比需要插入的区间大,那么先把区间插入,再把这个区间放入List
  • 若相交,则把这个区间和需要插入的区间合并,继续枚举
class Solution {
    public int[][] insert(int[][] intervals, int[] newInterval) {
        int len = intervals.length;
        List<int[]> ans = new ArrayList<>(len);
        boolean flag = false;
        int L = newInterval[0], R = newInterval[1];
        for(int[] interval : intervals) {
            if(interval[0] > R){
                if(!flag){
                    ans.add(new int[]{L, R});
                    flag = true;
                }
                ans.add(interval);
            } else if(interval[1] < L){
                ans.add(interval);
            } else {
                L = Math.min(L, interval[0]);
                R = Math.max(R, interval[1]);
            }
        }
        if(!flag) ans.add(new int[]{L, R});
        return ans.toArray(new int[ans.size() - 1][]);
    }
}

57. 插入区间 - LeetCode

标签:target   code   max   com   区间   OLE   区间合并   list   get   

原文地址:https://www.cnblogs.com/xiafrog/p/14543672.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!