__author__ = 'zenglinwang'
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
map = dict()
# Since two numbers are mutually complemented, one pass hash table can do.
for i in range(0, len(nums)):
complement = target - nums[i]
# print "- [{0:d},{1:d}]".format(nums[i], i)
# print map.items()
if complement in map.keys() and map.get(complement) != i:
# print "[{0:d},{1:d}]".format(map.get(complement), i)
return [map.get(complement), i]
map[nums[i]] = i
# s = Solution()
# s.twoSum([0,4,3,4,5,4], 8)