1 parent 15adb5c commit 1ab92e5Copy full SHA for 1ab92e5
1 file changed
docs/0000-04-merge-intervals.adoc
@@ -4,10 +4,15 @@
4
5
区间合并模式是一个用来处理有区间重叠的很高效的技术。在涉及到区间的很多问题中,通常咱们需要要么判断是否有重叠,要么合并区间,如果他们重叠的话。这个模式是这么起作用的。
6
7
-给两个区间,一个是 a,另外一个是 b。别小看就两个区间,他们之间的关系能跑出来6种情况。详细的就看图啦。
+给两个区间,一个是 a,另外一个是 b。别小看就两个区间,他们之间的关系能跑出来6种情况。详情如图:
8
9
image::images/0056-01.png[{image_attr}]
10
11
+观察这六种排序,明显后三种排序是前三种排序的一个“变种”:对区间根据起点和终点进行排序,就是剩下前三种排序了。再对其进行合并就很简单了:
12
+
13
+. 没有重叠,则直接开启新区间。
14
+. 有重叠,起点和终点分别取最大值和最小值即可:由于区间已经排序,则相邻两个区间的起点是前面区间的起点,重点则是两个区间终点的最大值。
15
16
怎么识别啥时候用合并区间模式呀?
17
18
* 当你需要产生一堆相互之间没有交集的区间的时候
0 commit comments