计算数组种两个数的和等于给定的目标数的下标,比如数组[2,3,4],目标数7,则返回[1,2]。(这里假设数组里有且只有一对这样的值存在)
class Solution{
func twoSum(_ nums:[Int],_ target:Int) -> [Int]{
var dic = [Int:Int]() //nums里的值作为key,下标作为值
for i in 0..<nums.count {
let value = nums[i]
if let result = dic[target - value]{ //如果存在这样的值,就说明找到了
return [result,i]
}
dic[value] = i
}
return []
}
}
网友评论