Target Two Sum
Course launching November 17, 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.
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
- 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
You can do this brute force, but it will be the worse solution at O(n2) time.
Keep the constraints in mind. You don't have to worry about duplicate values in the array.
By adding another data structure, you can do this in O(n) time and O(n) space.
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
4+4, but you can say
Does your solution handle negative numbers?
Does your solution handle an empty array input?
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.