Skip to content

Latest commit

 

History

History

056. Insert Interval

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

这道题仍然考察的是特殊的数据结构。

这个 Interval 本质上就是一个 std::pair.

最初的序列保证有序,那么查找 newInterval 将会很快(类似二分查找即可)。找首部的时候,根据 start,找尾部的时候,根据 end.

若 newInterval 的 start 落在了某个 interval 之间,那么修改 start, 并从该 interval 处开始删除。

同理 end 落在了某个 interval 之间,那么修改 end, 并从上面开始处一直删除到该 interval.

修改好 start 和 end, 并删除重复区域后,直接插入即可。

若没有落在任何 interval 之间,那么也是直接插入。

思路很简单,我偷懒直接用了 std::lower_bound 算法。