📜  门| GATE-CS-2015(模拟测试)|问题 10(1)

📅  最后修改于: 2023-12-03 15:42:18.105000             🧑  作者: Mango

问题 10

题目描述

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

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

你可以按任意顺序返回答案。

函数签名
def two_sum(nums: List[int], target: int) -> List[int]:
    pass
参数
  • nums:整数数组 nums,其中 nums[i] 表示第 i 个元素的值。
  • target:目标整数值。
返回值

返回一个数组 [i, j],其中 ij 分别表示数组中两个元素的下标,满足 nums[i] + nums[j] == target

示例

输入:

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

输出:

[0, 1]

解释:

nums[0] + nums[1] = 2 + 7 = 9
因此,返回 [0, 1] 。
提示
  • 2 <= nums.length <= 104
  • -109 <= nums[i] <= 109
  • -109 <= target <= 109
  • 只会存在一个有效答案。
  • 进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?