[Maximum Energy at a particular Interval]

Posted

技术标签:

【中文标题】[Maximum Energy at a particular Interval]【英文标题】: 【发布时间】:2017-06-26 14:10:48 【问题描述】:

我遇到了一个面试问题。 给定开始时间和结束时间以及在此持续时间内传输的能量。 我必须随时找到最大能量。 例如: 给定三个区间 (1,5,10)[从1开始,从5结束,此时能量为10] (2,7,14) (6,8,16) 那么在时间 6 到 7 之间任何时刻的最大能量为 30。 我的方法:在某种程度上,这是区间重叠问题,但由于第三个参数(能量),我无法破解它。 在研究中,我认为可以通过区间树来解决。我正在寻找一些方法和 PseudoCode。 谢谢!!。

【问题讨论】:

这并不适合该网站。你有问题吗?在这里请求代码是题外话。 How to most efficiently increase values at a specified range in a large array and then find the largest value的可能重复 【参考方案1】:

建议的 O(nlogn) 算法:

    将每个 (start,end,energy) 转换为 (start,energy) 和 (end,-energy) 对 按第一个坐标(时间)对对进行排序 迭代更新当前能量并跟踪最大值的对

您需要谨慎决定在结束时间与开始时间匹配的情况下该怎么做 - 这是否算作瞬时高能量?

【讨论】:

以上是关于[Maximum Energy at a particular Interval]的主要内容,如果未能解决你的问题,请参考以下文章

HDU 2412 Party at Hali-Bula

vue报错Maximum call stack size exceeded at abort (webpack-internal:///./node_modules/_vue-router@3

Inside look at modern web browser(part 1)浏览器的多进程架构

普林斯顿算法课Part2第二周作业_SeamCarving

Leetcode 53. Maximum SubarrayJAVA语言

balanced tree data structures怎么翻译啊