1.Two Num

#coding: utf-8

"""
1. 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, nums, target):
       if len(nums) <= 1:
           return False
       # 所需目标数字典{所需目标数:位置,.....}
       target_dict = {}
       for i in range(len(nums)):
           # 若第i个数 == 某个位置的所需目标数, 
           # 则 target = 某个位置所需的目标数(第i个数)
           #             + nums[target_dict[nums[i]]]
           # target_dict[nums[i]] = 某个位置
           if nums[i] in target_dict:
               return [target_dict[nums[i]], i]
           else:
               # 所需目标数 = target - 当前位置数
               target_dict[target - nums[i]] = i

    原文作者:shaocong_mo
    原文地址: https://www.jianshu.com/p/f702c6ac9d43
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞