2018-06-05 - 1st day - two num

2018-06-05  本文已影响0人  sszhang

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.

Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

using two hash_dicts for reference

    class Solution:
      def twoSum(self, nums, target):
            """
            :type nums: List[int]
            :type target: int
           :rtype: List[int]
            """
        hash_table1 = dict((index, value) for index, value in enumerate(nums))
        hash_table2 = dict((value, index) for index, value in enumerate(nums))
   
        for i in range(len(nums)):
          temp =  target - hash_table1[i]
          if temp in hash_table1.values():
            if i==hash_table2[temp]:
                pass
            else:
                return [i, hash_table2[temp]]
上一篇下一篇

猜你喜欢

热点阅读