2 条题解
-
0
题目:两数之和
描述:给定一个整数数组
nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,且数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为nums[0] + nums[1] == 9,返回[0, 1]。题解思路:
使用哈希表存储已遍历过的数字及其索引,遍历数组时计算当前数字与target的差值。若差值在哈希表中存在,则返回差值的索引和当前索引;否则将当前数字和索引存入哈希表。def twoSum(nums, target): num_map = {} # 存储数字到索引的映射 for i, num in enumerate(nums): complement = target - num # 计算当前数字的补数 if complement in num_map: return [num_map[complement], i] # 找到补数,返回索引 num_map[num] = i # 未找到则存入哈希表 return [] # 题目保证有解,此句可省略
- 1
信息
- ID
- 611
- 时间
- 5000ms
- 内存
- 64MiB
- 难度
- 10
- 标签
- 递交数
- 6
- 已通过
- 2
- 上传者