给定一个整数数组 nums 和一个整数目标值 target,请你在记反回它们的数组下标。 尔可以假设每种输入只会对应一个答案,并且你不能使用两次尔可以按任意顺序返回答案
时间: 2024-10-24 20:17:25 浏览: 6
这个问题描述的是一个经典的算法问题,通常称为“两数之和”(Two Sum),它是LeetCode上的第一题。给定一个已排序的整数数组`nums`和一个目标值`target`,你需要找到数组中两个元素,使得它们的和等于`target`,并返回这两个元素的下标。这个任务可以用哈希表来解决,遍历数组的过程中,对于每个元素,我们可以在哈希表中查找是否存在目标值减去它的差值。如果存在,那么就找到了一对解;如果不存在,我们将当前元素及其下标添加到哈希表中,继续搜索。
以下是Python的一个简单实现:
```python
def twoSum(nums, target):
if not nums or len(nums) < 2:
return []
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 []
```
阅读全文