1. 两数之和(简单)

2023-05-16  本文已影响0人  MatrixZ

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。

分析
这是个简单题,就不止要写对还有需要写好

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        # 两数之和,并且只存在一个有效答案,所以可以边遍历,边判断,可能都不要遍历完
        # 定义一个字典,key是元素值,value是对应的下标
        num_to_index = {}
        for index, num in enumerate(nums):
            # 判断之前是否有对应的剩余值
            if target - num in num_to_index:
                return [ num_to_index[target - num], index]
            num_to_index[num] = index
        
        return None

上一篇 下一篇

猜你喜欢

热点阅读