找出数组中两个数的和等于给定目标值

发布时间 2023-08-12 10:34:01作者: 武平宁

注意,输出的是数在列表中的索引,所以组织字典时用这个结构 {list_value:list_index}

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

print(two_sum([2, 7, 11, 15], 9))  # 输出:[0, 1]
print(two_sum([3, 2, 4], 6))  # 输出:[1, 2]
print(two_sum([3, 3], 6))  # 输出:[0, 1]