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

Popular posts from this blog

LeetCode Blind 75 in Swift: Solving the "Find Minimum in Rotated Sorted Array" Problem

LeetCode Blind 75 in Swift: Solving the "3Sum" Problem

LeetCode Blind 75 in Swift: Solving the "Product of Array Except Self" Problem