两数之和

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

##Swift写法##

1
2
3
4
5
6
7
8
9
10
11
12
13
14
func findTarget(_ target: Int, _ InNums: [Int]) -> (Int, Int)? {
var map: [Int: Int] = [:] //前一数字为值,后一数字为index

for i in 0..<InNums.count {
let num = InNums[i]
let needValue = target - num
if let index = map[needValue] {
return (index, i)
} else {
map[num] = i
}
}
return nil
}