题目
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案
来源:力扣(LeetCode) 链接:leetcode.cn/problems/tw… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
两种解法
一种为双层循环
第二种为使用哈希表,直接来第二种解法
func twoSum(nums: [Int], target: Int) -> [Int] {
var hashDic = [Int:Int]()
for num in 0...nums.count {
let number = target-nums[num]
guard let index = hashDic[number] else {
hashDic[nums[num]] = num
continue
}
return [index,num]
}
return [-1,-1]
}