内容:
第一题两数之和
题目描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。
示例 1:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
思路过程:
哈希表
将数组逐步放入到哈希表中,如果哈希表中不存在(target-当前值)则将对应的数组下标值和数组值存入,如果存在则直接得到最终结果
代码展示:
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
//初始化哈希表
hashtable = dict()
for i,val in enumerate(nums):
if target - val in hashtable:
return [hashtable[target - val],i]
else:
hashtable[val] = i
return []
可能思路和代码写的不是很规范,希望大家指正批评