1. 两数之和

题目地址(1. 两数之和)

https://leetcode.cn/problems/two-sum/

题目描述

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

前置知识

公司

  • 暂无

思路

关键点

  • map的初始化
  • 数组的初始化:[]int{p, i}

代码

  • 语言支持:Go

Go Code:


func twoSum(nums []int, target int) []int {
    hashMap := map[int]int{}
    for i := 0; i < len(nums); i++  {
        if p, ok := hashMap[target - nums[i]]; ok {
            return []int{p, i}
        }
        hashMap[nums[i]] = i
    }
    return nil
}

复杂度分析

令 n 为数组长度。

  • 时间复杂度:O(n)
  • 空间复杂度:O(n)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目地址() https://leetcode.cn/problems/two-sum/submissions/[...
    王侦阅读 75评论 0 0
  • 给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值 target 的那两个整数,并...
    ufogxl阅读 161评论 0 0
  • 为了更好的明天,坚持刷 LeetCode[https://leetcode-cn.com/u/k8scat/]! ...
    K8sCat阅读 195评论 0 0
  • 题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target ...
    另一个毕加索阅读 102评论 0 1
  • 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 ...
    年少为云阅读 180评论 0 0