moonlightshadow123
4/10/2017 - 1:30 PM

1. Two Sum <----> leetcode-1

  1. Two Sum <----> leetcode-1
class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        # Create a record dict : Num |-> Index
        self.recd_dict = {}

        for i in range(len(nums)):
            # For each index in nums
            curNum = nums[i]
            if self.recd_dict.has_key(target - curNum):      
                # If dict has target, then return the index
                return [self.recd_dict[target - curNum], i]
            else:  
                # else put current number and the index in to the dict.
                self.recd_dict[curNum] = i

https://leetcode.com/problems/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].