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] =...