大爽Python入门练习题 2-6 两数之和(Two Sum)
第二章 中期练习题 中等 第6题
题目
简介
实现一个函数get_two_sum(nums, target):
,
接受两个参数:
nums
: 数组(列表)
target
: 整数值
在nums
数组中,找到和为目标值target
的那两个整数,并返回这两个的索引。
返回时,两个索引用逗号分隔。
数组中同一个元素在答案里不能重复出现。
无匹配的就返回-1, -1
补充:
详细说明
比如下面的参数
nums = [2,7,11,15]
target = 9
nums
中,索引为0的元素2
,和索引为1的元素7
,和是9
故函数应该返回0, 1
,
实际会返回(0, 1)
,
因为python会自动将多个返回值打包到元组tuple
再返回。
示例
示例一
nums = [2,7,11,15]
target = 9
print(get_two_sum(nums, target))
输出为
(0, 1)
示例二
nums = [3,2,4]
target = 6
print(get_two_sum(nums, target))
输出为
(1, 2)
示例三
nums = [3,3]
target = 6
print(get_two_sum(nums, target))
输出为
(0, 1)
分割线
本小段没有实际意义,
仅用于分隔题目和答案。
防止学生无意中直接看到答案,
影响思路。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
答案
def get_two_sum(nums, target):
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if nums[i] + nums[j] == target:
return i, j
return -1, -1