我需要获得一个数组的所有可能子集,其中包含最少2个项目和未知最大值.有人可以帮我一点吗?
说我有这个......
[1,2,3]
Run Code Online (Sandbox Code Playgroud)
......我怎么得到这个?
[
[1,2]
, [1,3]
, [2,3]
, [1,2,3]
]
Run Code Online (Sandbox Code Playgroud) 我需要得到与目标相等的数组项的总和.如果数组项的总和不等于目标,我希望获得小于目标的最高总和.
这是一个例子:
输入: [4,6,8,12,4,6,6,12,4,4,4]
结果: [ 12 ] [ 12 ] [ 8,4 ] [ 6,6 ] [ 4,4,4 ] [ 6,4 ]
注意:数组项只能使用一次.
目前这就是我现在所拥有的:
var subset_sum = function (items, target) {
var results = [];
items.sort(function (a, b) { return b - a });
ss = function (items) {
var item = items.shift();
if (item < target) {
var perms = [];
perms.push(item);
var isItemPush = false;
var counter = 0
var innerSubset = function () {
if …Run Code Online (Sandbox Code Playgroud)