例如,如果我们有一个数组[4,1,2,5,2,3]且最小组和为5,
然后以下分组符合要求:
[1,2,4],[2,3],[5]
我认为这是我们能做的最好的事情,也就是说,我们不能在不违反约束的情况下将数组分成4组或更多组。
我能想到的解决这个问题的方法是首先对数组进行排序,然后从最大值处理数组。
再次以前一个数组为例。我们首先将其分为[1,2,2,3,4,5]:
我不太确定这种看似贪婪的方法是否有效,但我无法想象一个反面的例子。不确定性在于第3步。我们是否有可能以某种方式从现有组中提取一个或多个元素,并将它们与剩余的未组合值组合以创建另一个组?
我想知道我的解决方案是否正确或任何其他解决方案是否有效(理想情况下是多项式时间)。