JSFiddle - React, Tailwind, and code Playground
by alanine
JavaScript
/* Generated from Java with JSweet 3.0.0 - http://www.jsweet.org */
var SubSet_sum_problem = /** @class */ (function () {
function SubSet_sum_problem() {
}
SubSet_sum_problem.display = function (v) {
console.info(v);
};
SubSet_sum_problem.printSubsetsRec = function (arr, i, sum, p) {
if (i === 0 && sum !== 0 && SubSet_sum_problem.dp[0][sum]) {
/* add */ (p.push(arr[i]) > 0);
SubSet_sum_problem.display(p);
/* clear */ (p.length = 0);
return;
}
if (i === 0 && sum === 0) {
SubSet_sum_problem.display(p);
/* clear */ (p.length = 0);
return;
}
if (SubSet_sum_problem.dp[i - 1][sum]) {
var b = ([]);
/* addAll */ (function (l1, l2) { return l1.push.apply(l1, l2); })(b, p);
SubSet_sum_problem.printSubsetsRec(arr, i - 1, sum, b);
}
if (sum >= arr[i] && SubSet_sum_problem.dp[i - 1][sum - arr[i]]) {
/* add */ (p.push(arr[i]) > 0);
SubSet_sum_problem.printSubsetsRec(arr, i - 1, sum - arr[i], p);
}
};
SubSet_sum_problem.printAllSubsets = function (arr, n, sum) {
if (n === 0 || sum < 0)
return;
SubSet_sum_problem.dp = (function (dims) { var allocate = function (dims) { if (dims.length === 0) {
return false;
}
else {
var array = [];
for (var i = 0; i < dims[0]; i++) {
array.push(allocate(dims.slice(1)));
}
return array;
} }; return allocate(dims); })([n, sum + 1]);
for (var i = 0; i < n; ++i) {
{
SubSet_sum_problem.dp[i][0] = true;
}
;
}
if (arr[0] <= sum)
SubSet_sum_problem.dp[0][arr[0]] = true;
for (var i = 1; i < n; ++i) {
for (var j = 0; j < sum + 1; ++j) {
SubSet_sum_problem.dp[i][j] =...