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

2. 求和为给定值的两个数

程序员文章站 2022-07-15 08:42:31
...

描述
这个题目说的是,给你一个整数数组和一个目标值,你要找到数组里两个整数, 它们的和等于目标值。然后返回这两个整数的下标。

比如说给你的整数数组是:

1, 2, 3, 6, 8, 11

目标值是 10。那么,满足条件的两个整数是,2 和 8,它们的和是 10。所以你要返回它们的下标是 1 和 4。

思路:

  1. 二次循环遍历,时间复杂度O(n^2),代码不展示;
  2. 哈希 map,将值和索引的键值对存储起来,遍历一次,并根据target-当前值是否存在于map中来判断即可。
    python代码示例。
class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        data = {}
        n = len(nums)
        for i in range(n):
            if target - nums[i] not in data:
                data[nums[i]] = i
            else:
                return [data[target - nums[i]], i]
        return [-1, -1]
相关标签: 算法