python中非重叠间隔占用的最大范围

时间:2013-10-15 22:11:03

标签: python intervals

给定一个间隔列表,我想识别该列表中占用最大总整数范围的非重叠子集。例如,如果范围是:

listy = [[0,10],[11,15],[11,12],[20,30]]

然后正确的区间子集将是[0,10],[11,15]和[20,30],使得最大非重叠总范围等于(10 + 4 + 10)= 34。 / p>

我不断提出的方法似乎只涉及强制通过所有子集的变化 - 必须有更好的方法!

1 个答案:

答案 0 :(得分:2)

最有可能不是更好的方法。您正在尝试解决NP-complete的(max)子集和问题的各种实例。因此,很可能不是一个有效的算法来解决你的问题。