JSFiddle - React, Tailwind, and code Playground
by Nalin Sajwan
JavaScript
let arr = [ 3, 6, 5, 1, 8 ];
let n = arr.length;
let div = 3;
let allSums = [];
function subsetSums(arr, l, r, sum) {
// Print current subset
if (l > r) {
// console.log("\n\nf => ", sum);
if (sum % div === 0) {
allSums.push(sum);
}
return;
}
// console.log("1. => ", sum);
// console.log("1. => ", arr[l]);
// console.log("1.", sum + arr[l]);
// Subset including arr[l]
subsetSums(arr, l + 1, r, sum + arr[l]);
// console.log("2.", sum);
// Subset excluding arr[l]
subsetSums(arr, l + 1, r, sum);
}
subsetSums(arr, 0, n - 1, 0);
allSums.sort((a, b) => {
return b - a;
});
let highest = allSums[0];
console.log("highest ==> ", highest);