LeetCode 1. 两数之和 (Two Sum)[简单]

lework · 2020年03月12日 · 最后由 lework 回复于 2020年03月12日 · 199 次阅读

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

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

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

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

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

使用 python3, 拿 target 循环减去 list 中的数据,然后在判断结果是否存在余下的列表中。存在返回下标

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        result = []
        for v in nums:
            b = target - v
            i = nums.index(v) + 1
            if b in nums[i:]:
               result = [i - 1, nums[i:].index(b) + i]
            else:
              continue
        return result
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册