大爽Python入门练习题 2-6 两数之和(Two Sum)

大爽Python入门练习题总目录

第二章 中期练习题 中等 第6题

题目

出处: leetcode-1: Two Sum

简介

实现一个函数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
上一篇:【题解】CF82D Two out of Three


下一篇:1. Two Sum