首页 > 代码库 > [算法]区间重合推断
[算法]区间重合推断
题目描写叙述:
给定一个源区间 [x,y]和N个无序的目标区间[x1,y1],[x2,y2],...[xn,y,],推断给定的源区间[x,y]在不在目标区间内。
比如:给定源区间[1 6]和目标区间[1 2][2 4][4 9]就可以觉得区间[1 6]在目标区间内,由于源区间的并集为[1 9 ].
试想一下,如今在这种一个目标区间的集合。 须要频繁地去查询一个区间是否在该集合中。那么怎么样才干减少单次查询的复
杂度呢。预处理。对区间的预处理能够满足这种需求。
直接上方法:
第一步: 首先对区间进行合并(也就是将区间merge成为不相交的区间的集合)
第二步: 再在这个处理之后的区间中去查找这样源区间,关于查找,当然二分能够有非常好的效果,那么将区间排序就可以。
于是: 1 将区间按其起始点排序。
2 Merge相交的区间
3 二分查找源区间就可以。
代码例如以下:
<script src="https://code.csdn.net/snippets/462265.js" type="text/javascript"></script>
[算法]区间重合推断
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。