给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

https://leetcode-cn.com/problems/two-sum/submissions/
class Solution(object):
    def twoSum(self, nums, target):
        if len(nums) <= 1:
            return -1
        # 1. 首先判断nums个数 如果小于等于1 返回 -1
        dic = {}
        # 2. 创建个临时的dict, 用于存储临时变量
        for i, num in enumerate(nums):
            # 3. enumerate 函数的使用,遍历索引和值
            if num in dic:
                return [dic[num], i]
                # 如果在 就返回两个数索引
            else:
                # 4.如果不在字典中 则把(target - num)作为key存储,num的索引作为值
                dic[target - num] = i

LeetCode算法题——两数之和(python)-Python 技术分享 Java技术分享 Python 爬虫技术_微信公众号:zeropython—昊天博客
HTTPX 基础教程-新乡seo|网站优化,网站建设_微信公众号:zeropython—昊天博客