已知线段长为 0-50000
然后要陆续往这里数组总加入线段,但是不能重复,
比如 0-1729 1741-2139 都是已经存在的线段, 需要添加的部分为1729 -1741,
添加过程中可能会是 1729 - 1730 1730 - 1735 都有可能, 但是线段不能重叠,最终能够形成完整的线段.
[0] => Array
(
[startdis] => 0
[enddis] => 1729
)
[1] => Array
(
[startdis] => 1741
[enddis] => 2139
)
[2] => Array
(
[startdis] => 2015
[enddis] => 2301
)
[3] => Array
(
[startdis] => 7274
[enddis] => 14124
)
[4] => Array
(
[startdis] => 23261
[enddis] => 27978
)
题目的意思是已经有一个数组,包含了一些区间,而你要补足缺失的区间,使得最终首尾相接形成0-50000的区间?
如果上面我理解的没错的话,解答方法就是首先给数组元素排序,排序的依据就是子数组的startdis的值。然后再遍历数组,前一个元素的enddis到后一个元素的startdis就是要补足的区间(除非两者相等)。最前面的0开始的区间和最后的到50000结束的区间单独处理即可。