Fork me on GitHub

2021-3-13-0001两数之和

题目描述:

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

你可以按任意顺序返回答案。

示例 1:

输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。```
示例 2:
输出:[1,2]```
示例 3:
输出:[0,1]```
提示:
-109 <= nums[i] <= 109
-109 <= target <= 109```
只会存在一个有效答案

解题思路一

求得是列表里面的两数和, 我定义了一个列表从第一个遍历到倒数第一个,然后用target每次遍历都减去遍历得到的值,得到另一个数。然后进行另外一次遍历,从j = i+1开始,如果list[j]的值与target-nums[i]的值相等,就返回i和j

代码实现如下

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        long = len(nums)
        for i in range(long) :
            for j in range(i+1,long):
                sum = nums[i] + nums[j]
                if sum == target :
                    return(i, j)

运行效率如下:

两数之和

考察点:int
posted @ 2021-03-15 22:24  Noir-  阅读(79)  评论(0)    收藏  举报