leetcode1.Two Sum

2020-07-01  本文已影响0人  就是果味熊

原题链接https://leetcode.com/problems/two-sum/

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:

Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

遍历数组中idx,num,若字典中没有对应的target-num值,则在字典中添加k:v -> target-num:idx
若有其对应的target-num值,则返回当前索引和字典中target-num对应的值.

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        if len(nums) < 2:
            return []
        dicts = {}
        for i, num in enumerate(nums):
            if num in dicts:
                return [i, dicts[num]]
            else:
                dicts[target-num] = i
        return []

上一篇下一篇

猜你喜欢

热点阅读