定义一个整型数组array和一个整数target,找出数组array中两个数的和与乘为target的所有组合。
时间: 2024-10-06 13:06:09 浏览: 29
两数之和:在该数组中找出和为目标值的那两个整数,并返回他们的数组下标
在编程中,这个问题通常通过哈希表(也叫字典或map)来解决,目的是避免重复计算已查找过的元素对。我们可以遍历数组两次,将每个元素作为键(key),其索引值作为值(value)存入哈希表中。然后对于剩余的元素,检查哈希表中是否存在目标值减去当前元素的差值。如果存在,则找到了一组和为目标值的元素。
以下是一个简单的Python示例:
```python
def find_pairs(array, target):
if len(array) < 2:
return []
# 使用字典存储元素及其索引
hash_map = {}
result = []
for i, num in enumerate(array):
complement = target - num
if complement in hash_map:
result.append([hash_map[complement], i])
# 添加当前元素到哈希表中
hash_map[num] = i
return result
# 示例
array = [2, 7, 11, 15]
target = 9
print(find_pairs(array, target)) # 输出可能的结果 [[0, 1]]
```
阅读全文