Two Sum Coding Interview Question | Skilled.dev
Interview Question

Target Two Sum

Course launching August 2020

Follow me on YouTube for free coding interview videos.

Users who sign up for the email list will receive an exclusive 75% discount at launch.

Your subscription could not be saved. Please try again.
Your subscription was successful! 🤓

Given an array of unsorted unique integers, write a function getTargetIndexes that returns an array of arrays of the index pairs for each of the two numbers that add up to the target.

  • Prioritize run time complexity over memory
  • An item can not match with itself
  • The same pair of indexes should only be included once
  • The order of the returned array and its items does not matter
// Input
const array = [4, -3, 80, 2, 9, 13, 5, 8];
const target = 10;

// Output: getTargetIndexes(array, target);
[[1, 5], [3, 7]];

Validate My Answer

  1. You can do this brute force, but it will be the worse solution at O(n2) time.

  2. Keep the constraints in mind. You don't have to worry about duplicate values in the array.

  3. By adding another data structure, you can do this in O(n) time and O(n) space.

  4. Remember you can't add a number to itself (ie. the solution is the same index twice). However, you can add a number to zero. Ex. [4,8,0], target 8. You can't say [0,0] for 4+4, but you can say [1,2] for 8+0.

  5. Does your solution handle negative numbers?

  6. Does your solution handle an empty array input?

  7. Make sure your solution doesn't include repeated indexes. For example, if you already have [1,4] in your results, you shouldn't also have [4,1]. However, having either one of those is acceptable based on the constraints.