Leetcode1.两数相加

Leetcode1.两数相加(python3)

题目描述 :
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
实例:
给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
解法1:(python)

class Solution:
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        dict = {}
        for i, x in enumerate(nums):
            a = target - x
            if a not in dict:
                dict[x] = i
            else:
                return [dict[a], i]

补充:
enumerate()函数用法

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))       # 下标从 1 开始## 
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

猜你喜欢

转载自blog.csdn.net/weixin_43199534/article/details/86654230