实现两数之和

🟢 简单

题目描述

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

参考答案

func TwoSum(nums []int, target int) []int {
    m := make(map[int]int)
    
    for i, num := range nums {
        complement := target - num
        if j, ok := m[complement]; ok {
            return []int{j, i}
        }
        m[num] = i
    }
    
    return nil
}

复杂度分析

  • 时间复杂度:O(n)
  • 空间复杂度:O(n)