目录

xffish 的个人博客

记录精彩的程序人生

X

LeetCode-1.两数之和

LeetCode-1.两数之和

中文:

给定一个整数数列,找出其中和为特定值的那两个数。

你可以假设每个输入都只会有一种答案,同样的元素不能被重用。

示例:

给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
英文:
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].
以下是我的解答(参考了网上的答案)

1class Solution:
2    def twoSum(self, nums, target):
3        numsMap = {}
4        for i,num in enumerate(nums):
5            if num not in numsMap:
6                numsMap[target - num] = i #写target-num而不是num可以保证结果是第一个下标小于第二个下标
7            else:
8                return [numsMap[num],i]

This blog is under a 知识共享许可协议
本作品采用知识共享署名 4.0 国际许可协议进行许可
本文链接:https://www.xffish.info/articles/2018/03/11/1520726400000.html