Three Number Sum

  • brute force

  • n^3, 1

function threeNumberSum(arr, targetSum) {
  arr.sort((a, b) => a - b);
  const answer = [];
  for (let i = 0; i < arr.length; i++) {
    for (let j = i + 1; j < arr.length; j++) {
      for (let k = j + 1; k < arr.length; k++) {
        if (arr[i] + arr[j] + arr[k] === targetSum) 
          answer.push([arr[i], arr[j], arr[k]]);
      }
    }
  }
  return answer;
}

// Do not edit the line below.
exports.threeNumberSum = threeNumberSum;
  • memo

  • n^2, n

  • two pointer

  • n^2, 1 (except answer)

Last updated