两数之和

96 阅读1分钟

题目

给定一个整数数组 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]
        
}