题目链接:两数之和
主要思路
遍历数组,并且使用 map 存储 target - nums[i] 的值
代码实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* 时间复杂度: O(n), 空间复杂度: O(n)
*/
class Solution {
func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
var dict = [Int: Int]()
for (i, num) in nums.enumerated() {
if let lastIndex = dict[target - num] {
return [lastIndex, i]
}
dict[num] = i
}
fatalError("No valid outputs")
}
}