本文介绍: 首先需要对intervals排序,以每个数组的右边界排序,再将第一个数组的右边界作为起始点,循环比较前数组的右边界和后数组的左边界。首先按照数组的左边界排序,再比较前数组后边界和后数组的前边界,如果包含,就就将后数组的后边界和前数组前边界当成合成的区间,如果不包含,当前数组没有其他数组包含它,直接加入结果数组。②两个数组存在包含关系。明确一点,如果前一个数组的右边界大于后一个数组的左边界就算重叠,利用这个统计不重叠的数组个数,剩下的就是重叠的个数。一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。
给定一个区间的集合 intervals
,其中 intervals[i] = [starti, endi]
。返回 需要移除区间的最小数量,使剩余区间互不重叠 。
示例 1:
示例 2:
思路:明确一点,如果前一个数组的右边界大于后一个数组的左边界就算重叠,利用这个统计不重叠的数组个数,剩下的就是重叠的个数。
解决:首先需要对intervals排序,以每个数组的右边界排序,再将第一个数组的右边界作为起始点,循环比较前数组的右边界和后数组的左边界。最后用全部数组个数减去统计的不重叠个数就是需要移除的数组个数。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。