给定一个间隔列表,我想识别该列表中占用最大总整数范围的非重叠子集。例如,如果范围是:
listy = [[0,10],[11,15],[11,12],[20,30]]
然后正确的区间子集将是[0,10],[11,15]和[20,30],使得最大非重叠总范围等于(10 + 4 + 10)= 34。 / p>
我不断提出的方法似乎只涉及强制通过所有子集的变化 - 必须有更好的方法!
答案 0 :(得分:2)
最有可能不是更好的方法。您正在尝试解决NP-complete的(max)子集和问题的各种实例。因此,很可能不是一个有效的算法来解决你的问题。