求无序数组两数之和等于目标值
时间: 2024-09-25 14:12:41 浏览: 47
js代码-双指针法 两数之和
在计算机编程中,当你有一个无序整数数组,并需要找出是否存在两个元素相加等于给定的目标值时,这是一个常见的搜索问题,通常被称为“两数之和”问题。解决这个问题可以使用哈希表(也叫字典或关联数组)的数据结构。
算法步骤通常是这样的:
1. 遍历数组,对于每个元素(称为“基准”),检查目标值减去这个基准值是否已经在哈希表中。如果存在,则找到了一对满足条件的元素;如果不存在,将当前基准及其索引添加到哈希表中,以便后续查找。
2. 如果遍历完数组都没有找到符合条件的对,说明数组中没有这样的元素组合。
Python中可以这样实现:
```python
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 []
```
阅读全文