区间选择算法

时间:2013-07-07 19:57:19

标签: algorithm

假设我们有一组间隔 [s1,e1],[s2,e2]...[sn,en]

我想找到非重叠区间的子集,并且具有最大的聚合时间。

其实我正在寻找一个贪心的解决方案。是否存在?

1 个答案:

答案 0 :(得分:1)

“贪婪”不是一个正式的术语,但是出于这个问题的目的,让我们将贪婪算法的类定义为在间隔上强加先验总顺序的算法(即,独立的)输入)并以最大可用间隔重复扩展部分解。考虑输入

[0,2],[1,4],[3,5]
[0,2],[1,4]
[1,4],[3,5].

[0,2],[1,4],[3,5]中的最大间隔有三种可能性。如果[0,2]或[3,5]最大,则贪婪算法分别对第二或第三输入错误地应答。如果[1,4]是最大值,那么贪婪算法会对第一个输入错误地回答。