# Two Sum

Java Algorithmic thinking Searching Public

Easy

30min

Write a function that, when passed a list and a target sum, returns, efficiently with respect to time used, two distinct zero-based indices of any two of the numbers, whose sum is equal to the target sum. If there are no two numbers, the function should return null.

For example, findTwoSum(new int[] { 3, 1, 5, 7, 5, 9 }, 10) should return a single dimensional array with two elements and contain any of the following pairs of indices:

• 0 and 3 (or 3 and 0) as 3 + 7 = 10
• 1 and 5 (or 5 and 1) as 1 + 9 = 10
• 2 and 4 (or 4 and 2) as 5 + 5 = 10
Java SE 8

•   Example case: java.lang.UnsupportedOperationException at TwoSum.findTwoSum(TwoSum.java:3)
•   Distinct numbers with and without solutions: java.lang.UnsupportedOperationException at TwoSum.findTwoSum(TwoSum.java:3)
•   Duplicate numbers with and without solutions: java.lang.UnsupportedOperationException at TwoSum.findTwoSum(TwoSum.java:3)
•   Performance test with a large list of numbers: java.lang.UnsupportedOperationException at TwoSum.findTwoSum(TwoSum.java:3)