郑州高端网站建设是什么意思,智能网站搭建平台,网站建设制作文字教程,做soho外贸网站LeetCode 题目#xff1a;两个总和 描述#xff1a;
编写一个函数#xff0c;输入为一个整数数组nums和一个目标整数target#xff0c;要求找到数组中两个数的和等于target#xff0c;并返回这两个数的索引。
函数定义#xff1a;
def two_sum(nums: List[int], targe…LeetCode 题目两个总和 描述
编写一个函数输入为一个整数数组nums和一个目标整数target要求找到数组中两个数的和等于target并返回这两个数的索引。
函数定义
def two_sum(nums: List[int], target: int) - List[int]:说明
假设对于每个输入都存在一个解决方案。同一个元素不能被重复使用。可以以任意顺序返回答案。
示例
# 示例 1:
nums [2, 7, 11, 15]
target 9
输出: [0, 1]
解释: 因为 nums[0] nums[1] 9所以返回 [0, 1]。# 示例 2:
nums [3, 2, 4]
target 6
输出: [1, 2]
解释: 因为 nums[1] nums[2] 6所以返回 [1, 2]。# 示例 3:
nums [3, 3]
target 6
输出: [0, 1]
解释: 因为 nums[0] nums[1] 6所以返回 [0, 1]。实现
def two_sum(nums: List[int], target: int) - List[int]:# 创建一个字典来存储元素的索引num_indices {}# 遍历数组for i, num in enumerate(nums):# 计算目标差值target_diff target - num# 检查差值是否已经在字典中if target_diff in num_indices:# 如果存在返回当前索引和差值的索引return [num_indices[target_diff], i]# 将当前元素和索引加入字典num_indices[num] i# 如果没有找到解决方案返回 Nonereturn None使用示例
# 使用示例 1
nums1 [2, 7, 11, 15]
target1 9
print(two_sum(nums1, target1)) # 输出[0, 1]# 使用示例 2
nums2 [3, 2, 4]
target2 6
print(two_sum(nums2, target2)) # 输出[1, 2]# 使用示例 3
nums3 [3, 3]
target3 6
print(two_sum(nums3, target3)) # 输出[0, 1]上述代码定义了一个名为two_sum的函数它接受一个整数列表nums和一个整数target作为输入并通过字典来存储和查找能够相加得到目标值的两个数的索引。如果找到符合条件的两个数函数返回它们的索引如果不存在这样的两个数则返回None。通过几个示例展示了如何使用这个函数来解决实际问题。