I rarely code anymore, this is just a way to jog my brain.
function threeNumberSum(array, targetSum) {
array.sort(function(a, b) {
return a - b;
})
let i = 0;
let tmp = [];
while(i < array.length) {
let a = array[i];
// a + b + c = targetSum
// b + c = targetSum - a
let bc = targetSum - a;
let j = i+1;
while (j < array.length) {
let b = array[j];
// c = (targetSum - a) - b
let c = bc - b;
if(array.indexOf(c) > -1 && b < c) {
tmp.push([a,b,c]);
}
j++;
}
i++;
}
return tmp;
}
let input = {"array": [12, 3, 1, 2, -6, 5, -8, 6], "targetSum": 0}
// let input = {"array": [1, 2, 3], "targetSum": 6}
console.log(threeNumberSum(input["array"], input["targetSum"]));