Two Sum

Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.

Solution in go
func twoSum(nums []int, target int) []int {
    result := make([]int, 2)
    numIndex := make(map[int]int) // number -> index mapping
    
    for i, n := range nums {
        want := target - n
        
        wantIndex, contains := numIndex[want]
        if contains {
            result[0] = wantIndex
            result[1] = i
            break
        }
        
        numIndex[n] = i
    }
    
    return result
}
    TheDeveloperCafe © 2022-2024