一、题目

二、分析
这道题我们可以考虑用哈希的方式实现。我们的目标是找到两数之和等于target的下标,遍历数组nums,如果target-nums[i]在哈希表里,则说明这两数之和为target。
例如[2,7,11,15],首先遍历2, 9-2=7不在哈希表里,将hash[2]=0;遍历7,9-7=2在哈希表里,取出[hash[2],1]返回。
三、代码
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
hashtable = dict()
for i in range(len(nums)):
if target-nums[i] in hashtable:
return [hashtable[target-nums[i]], i]
hashtable[nums[i]] = i
四、复杂度分析
时间复杂度:O(n)
空间复杂度:O(1)
本文介绍了一种使用哈希表解决两数之和问题的方法。通过遍历数组并利用哈希表记录每个元素的位置,可以高效地找到两个数相加等于特定目标值的索引。这种方法的时间复杂度为O(n),空间复杂度接近O(1)。
222

被折叠的 条评论
为什么被折叠?



