• 题目要求:

image.png

  • 思路:

    • 使用字典
    • 遍历数组,用target - num[i],如果这个值不在字典中,把这个值作为key,下标i作为value,如果存在,可以直接返回i和字典中target - num[i]的value值
  • 核心代码:
#定义一个字典
mydict = {}
#遍历数组
for i in range(len(nums)):
    #如果target - 当前的值 不在字典中,把当前的值作为key记录在字典中,下标i作为value
    if target - nums[i] not in mydict:
        mydict[nums[i]] = i
    #如果存在,可以直接返回当前的下标和target-当前值 对应的值的下标,python支持返回多个值
    else:
        return (i , mydict[target-nums[i]])
  • 完整代码:
class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        mydict = {}
        for i in range(len(nums)):
            if target - nums[i] not in mydict:
                mydict[nums[i]] = i
            else:
                return (i , mydict[target-nums[i]])

Adrianna
1 声望2 粉丝