<filename>Python/Reals/river_in_brazil/two_sum.py
"""
Two Sum ?

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:
Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].


"""

class Solution(object):
    def twoSum(self, numbers, target):
        table = {}
        if not(numbers): return None
        for i in range(len(numbers)):
            val = target - numbers[i]
            if numbers[i] in table:
                return (table[numbers[i]]+1,i+1)
            else:
                table[val] = i
        return None
