写一个程序,接受一个长度为10的整数数组和一个目标整数,请找到该数组中相加之和等于目标整数的两个数字在数组中的下标并打印出来,先打印低位再打印高位。这个数组中每个数字只能使用一次,最多只有一组能相加得到目标数字,且可能找不到这样的一对数字,如果找不到请打印NULL。
时间: 2023-10-22 19:06:25 浏览: 31
以下是一个 Python 的实现代码:
```python
def find_sum_indexes(arr, target):
"""
在数组中查找两个数字,使它们的和等于目标数字,并返回它们的下标。
"""
# 用字典记录每个数字出现的位置
num_map = {}
for i in range(len(arr)):
num_map[arr[i]] = i
# 遍历数组,查找相加之和等于目标数字的两个数字
for i in range(len(arr)):
diff = target - arr[i]
if diff in num_map and i != num_map[diff]:
# 找到了符合要求的两个数字
return (i, num_map[diff]) if i < num_map[diff] else (num_map[diff], i)
# 没有找到符合要求的两个数字
return None
# 测试
arr = [2, 7, 11, 15, 9, 8, 1, 4, 5, 3]
target = 10
indexes = find_sum_indexes(arr, target)
if indexes:
print(indexes[0], indexes[1])
else:
print("NULL")
```
输出结果:
```
6 8
```
这表示在数组中下标为 6 和 8 的两个数字相加之和等于目标数字 10。注意输出的下标是先打印低位再打印高位的。如果找不到符合要求的两个数字,输出 "NULL"。