6. 两数之和

2020-05-26  本文已影响0人  HAO延WEI

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

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

"""
解题思路是在方法一的基础上,优化解法。想着,
num2 的查找并不需要每次从 nums 查找一遍,只需要从 num1 位置之前或之后查找即可。
但为了方便 index 这里选择从 num1 位置之前查找:

"""
def twoSum(nums, target):
    lens = len(nums)
    j=-1
    for i in range(1,lens):
        temp = nums[:i]
        if (target - nums[i]) in temp:
            j = temp.index(target - nums[i])
            break
    if j>=0:
        return [j,i]
上一篇 下一篇

猜你喜欢

热点阅读