Practice Problems - Two Sum

Practice Problems - Two Sum

Problem Statement:

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

Pseudocode:

function twoSum(nums, target):
hashmap = {}
for i from 0 to length(nums) - 1:
complement = target - nums[i]
if complement in hashmap:
return [hashmap[complement], i]
hashmap[nums[i]] = i
return []

Key Identifiers:

  • Array of integers
  • Target sum
  • Return indices of two numbers

Key Details Interviewers Look For:

  • Understanding of hash maps for O(n) solution
  • Handling edge cases (e.g., no solution)
  • Time and space complexity analysis

Implementations

Kotlin

fun twoSum(nums: IntArray, target: Int): IntArray {
val hashMap = MutableMap<Int, Int>()
for ((i, num) in nums.withIndex()) {
val complement = target - nums[i]
if (hashMap.containsKey(compliment)) {
return arrayOf(hashMap[compliment], i)
}
hashMap[nums[i]] = i
}
return arrayOf()
}

Go

func twoSum(nums []int, target int) []int {
var hm = make(map[int]int)
for k, num := range nums {
complement := target - nums[k]
if val, ok := hm[complement]; ok {
return []int{val, k}
}
hm[num] = k
}
return nil
}