帮我写个代码,要求如下:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 给你个例子:输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
时间: 2023-03-19 09:23:52 浏览: 99
两数之和:在该数组中找出和为目标值的那两个整数,并返回他们的数组下标
以下是一个 Python 代码的示例,实现了上述要求:
```python
def twoSum(nums, target):
seen = {}
for i, num in enumerate(nums):
complement = target - num
if complement in seen:
return [seen[complement], i]
seen[num] = i
return []
# 示例输入
nums = [2, 7, 11, 15]
target = 9
# 调用函数并输出结果
result = twoSum(nums, target)
print(result)
```
代码中的 `twoSum` 函数接受两个参数 `nums` 和 `target`,其中 `nums` 是一个整数数组,`target` 是目标值。函数使用一个字典 `seen` 来保存已经遍历过的数组元素及其下标,然后遍历整个数组 `nums`,对于每个元素 `num`,计算其与目标值 `target` 的差值 `complement`。如果 `complement` 已经出现在字典 `seen` 中,则说明已经找到了一组符合要求的数组下标,直接返回即可。如果没有找到,将当前元素及其下标加入字典 `seen` 中。如果遍历结束仍然没有找到符合要求的数组下标,则返回空数组 `[]`。
对于示例输入 `[2, 7, 11, 15]` 和 `9`,函数的输出是 `[0, 1]`,即数组下标为 0 和 1 的元素分别是 2 和 7,它们的和为 9,符合要求。
阅读全文