Skip to content

Instantly share code, notes, and snippets.

@james-prado
Last active January 25, 2017 18:47
Show Gist options
  • Select an option

  • Save james-prado/4fd222d65f93aa6fc62c452942c3b5b7 to your computer and use it in GitHub Desktop.

Select an option

Save james-prado/4fd222d65f93aa6fc62c452942c3b5b7 to your computer and use it in GitHub Desktop.
QuickSort Recursive Function In JavasScript
function quickSort(numbers, target, partial) {
var sum, remaining;
var partial = partial || [];
// sum partial
sum = partial.reduce(function (a, b) {
return a + b;
}, 0);
// check if the partial sum is equals to target
if (sum === target) {
console.log("%s=%s", partial.join("+"), target);
return;
} else if (sum > target) {
return // if we reach the number why bother to continue
} else {
console.log('Sum: ' + sum + ', Target: ' + target);
}
for (var i = 0; i < numbers.length; i++) {
number = numbers[i];
remaining = numbers.slice(i + 1);
quickSort(remaining, target, partial.concat([number]));
}
}
quickSort([100, 50, 20, 10, 5, 1], 176);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment