题目: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].
具体代码:
from typing import List
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]: #使用预期的类型来注释参数,然后在函数返回值验证时检验参数的类型或者将其强制转换成预期的类型。
dict_nums = dict() #记录符合条件的数的位置
for index, value in enumerate(nums):
reminder = target - value
if reminder in dict_nums:
return [dict_nums[reminder], index] #只要return了,函数就结束了
dict_nums[value] = index
if __name__ == '__main__':
aaa = Solution()
print(aaa.twoSum([2, 7, 11, 15], 9))