315. Data Stream as Disjoint Intervals

来源:互联网 发布:nero10刻录软件怎么用 编辑:程序博客网 时间:2024/04/27 19:09

这题我自己没弄出来,参考了stellalai用户的代码。先翻译一下解法:

对于一个新的数n,我们寻找输入的一系列序号中包括这个数的指数,如果不存在就返回-1。这是依靠二分查找实现的。

找到Index后,我们有3种情况:

①、区间[index]已包含变量,直接输出即可。

②、值可以被合并到区间[index+1],开始改变区间[index+1]

③、值可以被合并到区间[index],改变区间[index]

④、值不能被合并,插入区间(值,值)

最后,插入val后,我们需要检查区间[index]和区间[index+1]是否能被合并。

具体代码如下:


以上。

0 0
原创粉丝点击