Two Sum


C++ 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 (-1, -1).

For example, findTwoSum({ 3, 1, 5, 7, 5, 9 }, 10) should return a std::pair<int, int> containing 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
C++14
   

  •   Example case: Exception
  •   Distinct numbers with and without solutions: Exception
  •   Duplicate numbers with and without solutions: Exception
  •   Performance test with a large list of numbers: Exception