请使用Python程序设计语言完成一下测试:1. 查找两个总和为特定值的索引题目描述给定一个数组,找到两个总和为特定值的索引。例如给定数组[1,2,3,-2,5,7],给定总和 7,则返回索引[1,4
时间: 2024-12-28 07:38:05 浏览: 5
在Python中,你可以通过使用哈希表(字典)的数据结构来解决这个问题,因为它允许你在常数时间内查找元素。这里是一个简单的解决方案:
```python
def two_sum(nums, target):
# 创建一个空字典用于存储元素及其对应的索引
num_dict = {}
# 遍历列表,对于每个元素
for i, num in enumerate(nums):
# 计算目标值减去当前元素的差
complement = target - num
# 检查差是否已经在字典中
if complement in num_dict:
# 如果找到了,直接返回这两个元素的索引
return [num_dict[complement], i]
# 否则将当前元素及其索引添加到字典中
num_dict[num] = i
# 如果找不到满足条件的元素对,返回None
return None
# 测试函数
nums = [1, 2, 3, -2, 5, 7]
target = 7
result = two_sum(nums, target)
if result:
print(f"索引为 {result} 的元素之和为 {nums[result[0]] + nums[result[1]]}")
else:
print("没有找到这样的两个元素")
```
当你运行这段代码,它会输出"索引为 [0, 4] 的元素之和为 7"。
阅读全文