无重叠区间
无重叠区间
问题陈述
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。
1 | 输入: [ [1,2], [2,3], [3,4], [1,3] ] |
思路分析
算法思路:
- 从区间集合 intvs 中选择一个区间 x,这个 x 是在当前所有区间中结束最早的(end 最小)。
- 把所有与 x 区间相交的区间从区间集合 intvs 中删除。
- 重复步骤 1 和 2,直到 intvs 为空为止。之前选出的那些 x 就是最大不相交子集
代码实现
1 | public int intevalSchedual(int[][] intvs){ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 淋竹调!
评论