欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【LeetCode】1. Two Sum(Hash Table)

程序员文章站 2022-03-08 16:45:10
...

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].

【题目大意】

在一个整数组成的字符串中找到两个数,使得两个数的和为目标参数。

使用Hash表,在表中nums[i]存储i下标,每次检测target-nums[i] 有没有在表中。


【Code】

class Solution:
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        temp = {}
        for i in range(len(nums)):
            if nums[i] not in temp:
                temp[nums[i]] = i
            if target-nums[i] in temp.keys() and temp[target-nums[i]]!=i:
                # 防止再一次检测到自身
                return [temp[target-nums[i]], i]

 人生苦短,我用python。

 

相关标签: Hash