我遇到了一个面试问题
给定开始时间和结束时间以及在此持续时间内传输的能量。
我必须在任何时刻找到最大的能量
例如:
鉴于三个间隔
(1,5,10)[从1开始,在5结束,此时的能量为10]
(2,7,14)
(6,8,16)
然后,在时间6到7之间的任何时刻的最大能量为30
我的方法:在某种程度上这是区间重叠问题,但由于第三个参数(能量),我无法破解它
在研究方面,我认为它可以通过Interval Tree来解决。我正在寻找一些方法和PseudoCode
谢谢!!。
答案 0 :(得分:1)
建议的O(nlogn)算法:
当结束时间与开始时间匹配时,您需要小心决定该怎么做 - 这是否算作瞬间高能量?