这里有一个问题:分区排序列表受到约束
鉴于比如说整数排序列表(你可以假设他们是积极的,如果它使该问题的任何简单),分区列表进入'n'个大小相等的分区(或尽可能相等),但受制于没有任何整数出现多于一个这样的分区的限制。
约束本质上意味着如果你有一个清单 {1,1,2,2}
那么所有的那些都必须在同一组,并且所有2的必须是在同一组。所有1和所有2都可以在一套。但是我们不能在第一个分区中有一个1,在第二个分区中没有第一个。
实施例1:
List: {1,1,2,2,3,3,4,4}
Number of partitions to make: 4
Answer: {1,1} {2,2} {3,3} {4,4}
实施例2:(棘手一个)
List: {1,1,2,2,2,3,3,4,4,4,4,4,4,4,4}
Number of partitions to make : 3
Answer: {1,1,2,2} {3,3} {4,4,4,4,4,4,4,4}
OR: {1,1} {2,2,3,3} {4,4,4,4,4,4,4,4}
注意这里说的第三分区具有为大小8的因为由于约束条件,所有4都必须在同一个分区中。
可以有许多其他棘手的情况。让我知道是否有人需要更多的例子。
所以问题是什么是最好的方法来解决或解决这个问题?
好的,这是您的解决方案的反例。 假设我们有 {1,1,1,1,1,1,1} {2,2,2,2,2,2,2} {3,3,3,3,3,3} {4 ,4,4,4,4,4} 这实际上意味着您的第一步中有7,7,6,6的分区。 现在我们需要2个分区。所以,你会在下一步做7,7,12。然后你会做14,12,并输出这个答案。 但更好的答案是13,13 – Sushant