首页 > 试题广场 >

插入区间

[编程题]插入区间
  • 热度指数:1741 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个无重叠的,按照区间起点升序排列的区间列表,在列表中插入一个新区间,如果有原区间有重合,则合并,请返回插入后的区间列表。

数据范围:区间列表长度满足 , 区间的左右端点满足
示例1

输入

[[2,5],[6,11]],[5,6]

输出

[[2,11]]
示例2

输入

[],[2,5]

输出

[[2,5]]
头像 用户抉择
发表于 2022-06-18 23:04:31
/**  * struct Interval {  * int start;  * int end;  * Interval(int s, int e) : s 展开全文
头像 空中转体一周半
发表于 2022-05-22 09:51:54
这个题看起来可以使用“合并区间”的解法,但题目已经告知了输入的数组是已经按start字段升序,那么我们仅需要找到插入点,然后向后合并即可。时间复杂度O(n),空间复杂度O(n)(采用了list)。 public class Solution { public Interval[] inser 展开全文
头像 你说夕阳很美
发表于 2022-01-08 17:56:46
/** * struct Interval { * int start; * int end; * Interval(int s, int e) : start(start), end(e) {} * }; */ class Solution { public: /** 展开全文
头像 姐姐的遮阳伞
发表于 2022-03-24 20:26:57
import java.util.*; /* * public class Interval { * int start; * int end; * public Interval(int start, int end) { * this.start = start; 展开全文
头像 fred-coder
发表于 2022-01-02 15:45:10
贪心,将 newInterval 加入到 Intervals 然后对其排序,用栈做存储;依次遍历 Intervals,对比栈顶元素,最终返回栈 # class Interval: # def __init__(self, a=0, b=0): # self.start = a 展开全文
头像 牛客362459853号
发表于 2021-11-24 20:49:54
描述 给定一个无重叠的,按照区间起点升序排列的区间列表,在列表中插入一个新区间,如果有原区间有重合,则合并,请返回插入后的区间列表。 数据范围:区间列表长度满足  , 区间的左右端点满足  问题分析:插入区间,无非就是对要插入的区间 展开全文

问题信息

难度:
8条回答 1031浏览

热门推荐

通过挑战的用户

查看代码