1 条题解

  • 0
    @ 2025-10-8 17:10:44

    题目描述

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

    输入

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

    输出

    [0,1]

    思路

    使用哈希表存储已经遍历过的元素及其索引,对于每个元素 nums[i],计算 complement = target - nums[i],如果 complement 在哈希表中存在,则返回 [哈希表[complement], i],否则将 nums[i] 和 i 存入哈希表。

    代码

    def twoSum(nums, target):
        hash_map = {}
        for i, num in enumerate(nums):
            complement = target - num
            if complement in hash_map:
                return [hash_map[complement], i]
            hash_map[num] = i
        return []
    
    • 1

    信息

    ID
    6184
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    2
    已通过
    2
    上传者