地址
https://leetcode.cn/problems/two-sum/
思路
一次遍历, 用哈希表储存数字和下标
复杂度
时间:O(n)
空间:O(n)
Python代码
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
# 用字典储存数字和下标
seen = dict()
for i, n in enumerate(nums):
if target - n in seen:
return [i, seen[target-n]]
seen[n] = i
Go代码
func twoSum(nums []int, target int) []int {
/* 字典存储数字和对应的下标 */
seen := map[int]int{}
for i, num := range nums {
j, ok := seen[target-num]
if ok {
return []int{i, j}
}
seen[num] = i
}
return []int{-1, -1}
}
本文介绍了在LeetCode问题两数之和中,使用Python和Java编程语言实现的解决方案,利用哈希表存储数字和其下标,以O(n)的时间复杂度和O(n)的空间复杂度找到目标值的两个数。

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



