LeetCode Blind 75 in Swift: Solving the "Two Sum" Problem
LeetCode Blind 75 in Swift: Solving the "Two Sum" Problem
Problem: Two Sum
The Two Sum problem is one of the most popular problems on LeetCode. Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to the target. You may assume that each input would have exactly one solution, and you may not use the same element twice.
Example:
Input: nums = [2, 7, 11, 15], target = 9
Output: [0, 1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].
Swift Solution
class Solution {
func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
var numDict = [Int: Int]()
for (index, num) in nums.enumerated() {
let complement = target - num
if let complementIndex = numDict[complement] {
return [complementIndex, index]
}
numDict[num] = index
}
return []
}
}
let solution = Solution()
let nums = [2, 7, 11, 15]
let target = 9
let result = solution.twoSum(nums, target)
print(result) // Output: [0, 1]
Explanation
This solution uses a dictionary to store each element’s index as it traverses the array. For each number, we compute its complement (i.e., target - num), and if the complement is already in the dictionary, we return the indices. Otherwise, we store the current number and its index.
Comments
Post a Comment