12121
2022-12-20

# 给定一个整数数组,找到两个数,使它们的和等于目标值。
# 请返回这两个数的下标。你可以假设每个输入只对应一种答案,且同一种元素不能使用两遍。

# 示例:
# 输入:nums = [2,7,11,15], target = 9
# 输出:[0,1]
# 输出说明:2 + 7 = 9

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
return None

# 示例测试
nums = [2, 7, 11, 15]
target = 9
result = two_sum(nums, target)
print(result) # 应该输出 [0, 1]