使用python语言写出给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返回答案的代码
时间: 2024-10-24 17:12:06 浏览: 80
这是一个经典的Python编程问题,通常被称为“两数之和”或“Two Sum”。你可以通过使用哈希表(字典)来解决这个问题,它的效率非常高。以下是解决这个问题的一个简单代码示例:
```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
# 如果找不到解,则返回None 或者抛异常,这取决于具体的实现需求
return None # 返回空列表表示无解
# 示例
nums = [2, 7, 11, 15]
target = 9
print(twoSum(nums, target)) # 输出: [0, 1]
```
这个函数会查找数组中是否存在一对数字相加等于目标值。如果找到,就返回这对数字的下标;如果没有找到,返回`None`。
阅读全文
相关推荐

















