【发布时间】:2020-05-14 10:14:14
【问题描述】:
我有一个 JavaScript 数组并作为输入求和
array = [4,8,2,4,2,2,8,12,4,2, 2]
sum = 12 // all the time sum will be 12
我要二维数组,分批的数字应该是总和等于或小于12
输出数组应该是这样的
[
[4,8],
[2,4,2,2,2],
[8, 4],
[12],
[2]
]
4 + 8 = 12
2 + 4 + 2 + 2 + 2 = 12
...
2 is left at the end
其他例子
1) 数组 = [6,5,3,3,3,2,2,2,2] 总和 = 12
输出:[[6,3,3],[5,3,2,2],[2,2]]
一个数字分配给子集,它不应该用于其他子集
余数可以加到最后,但总和小于12,否则再加一个数组,余数相加
输入数组可以是 1 - 12 之间的任何整数
我怎样才能得到我想要的输出?
【问题讨论】:
-
如果
[7, 7, 7, 7, 7],您永远无法将数组的总和设为 12。这里可以是[ [7], [7], [7], [7] ]。你想如何处理这个问题?还是最大和为 12? -
@Soham,如果是这种情况,那么输出将是 [ [7], [7], [7], [7], [7] ]
-
你对
[4,4,4,8]的结果有什么期望? -
所以,只是为了确保我理解:您更喜欢对而不是所有其他类型的分组。
-
没有顺序无所谓
标签: javascript arrays loops for-loop