2. 求和为给定值的两个数
程序员文章站
2022-07-15 08:42:31
...
描述
这个题目说的是,给你一个整数数组和一个目标值,你要找到数组里两个整数, 它们的和等于目标值。然后返回这两个整数的下标。
比如说给你的整数数组是:
1, 2, 3, 6, 8, 11
目标值是 10。那么,满足条件的两个整数是,2 和 8,它们的和是 10。所以你要返回它们的下标是 1 和 4。
思路:
- 二次循环遍历,时间复杂度O(n^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]
推荐阅读
-
一个数组nums,其中任意两个值等于给定值target,返回这两个值在nums里的位置
-
找到数组中和为给定值的两个数
-
2. 求和为给定值的两个数
-
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素
-
python实现给定一个数和数组,求数组中两数之和为给定的数
-
在排序数组中查找和为给定值的两个数字
-
给定一个数组元素,对其元素进行求和,取出在某个区间中出现最大的值
-
给定一个数组元素,对其元素进行求和,取出在某个区间中出现最大的值
-
一个数组nums,其中任意两个值等于给定值target,返回这两个值在nums里的位置
-
python实现给定一个数和数组,求数组中两数之和为给定的数