我需要一种算法来将值列表拆分成这样的块,每个块中的值之和等于( 大约 )(我想这是背包问题的某种变体)
因此,例如[1、2、1、4、10、3、8] => [[8、2],[10],[1、3、1、4]]
长度相等的块是首选,但这不是一个约束。
Python是首选语言,但也欢迎其他语言
编辑: 定义块数
贪婪: 1.订购可用物品降序排列。 2.创建N个空组 。3.开始一次将一项添加到总和最小的组中。
我认为在大多数现实生活中,这应该足够了。