当前位置:首页|资讯

GFG 57 Maximum Profit By Choosing A Subset Of Intervals

作者:您是打尖儿还是住店呢发布时间:2024-09-26


给定一个由 n 个区间组成的列表区间,第 i 个元素 [s, e, p] 表示起点 s、终点 e 和选择第 i 个区间获得的 pro t p。求选择一个不重叠区间的子集所能获得的最大收益 t。


如果 [e1 <= s2] 和 [s1 < s2] 这两个区间 [s1, e1, p1] 和 [s2, e2, p2] 称为非重叠区间。


例 1:


输入

n = 3

区间 = {

{1, 2, 4},

{1, 5, 7},

{2, 4, 4}

}

输出:

8

说明

我们可以选择区间 [1, 2, 4] 和 [2, 4, 4],从而获得 8 的收益。


例 2:


输入

n = 3

区间 = 

{{1, 4, 4},

{2, 3, 7},

{2, 3, 4}}

输出:

7


说明

我们可以选择区间 [2, 3, 7],得到 7 的结果。


你的任务


您不需要打印或输出任何内容。完成函数 maximum_profit(),该函数接受一个整数 n 和一个二维整数数组 intervals,并返回一个整数,表示通过选择不重叠的间隔所能得到的最大收益。

限制条件

1 <= n 且 n <= 10

1 <= 第 i 个区间的起点 <= 第 i 个区间的终点 <= 10

1 <= 选择第 i 个区间获得的收益 <= 10

-------

同样的问题做过好几次了,就是先将数组排序,然后treemap存储数据,每次保存当前可以获得的最大值。

最后返回即可。



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1