原创

1. 两数之和

1. 两数之和

链接

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

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

题解

a + b = target

可以看成是

a = target - b

map[整数]整数的序号中,可以查询到a的序号。这样就不用嵌套两个for循环了。

func twoSum(nums []int, target int) []int {
	// index 负责保存map[整数]整数的序列号
	index := make(map[int]int, len(nums))

	for i, b := range nums {
		// 通过查询map,获取a = target - b的序列号
		if j, ok := index[target-b]; ok {
			return []int{j, i}
			// 注意,顺序是j,i
		}
		// 把b和i的值,存入map
		index[b] = i
	}

	return nil
}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 1.两数之和

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

    大忽悠爱学习
  • 【LeetCode】1.两数之和

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

    Delevin
  • leetcode:1 两数之和

    贵哥的编程之路
  • LeetCode | 1.两数之和

    上面的题就是 两数之和 题目的截图,同时 LeetCode 会根据选择的语言给出了一个类的定义或者函数的定义,然后在其中实现 两数之和 的解题过...

    码农UP2U
  • leetcode-1-两数之和

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案...

    Spaceack
  • Leetcode 1:两数之和

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

    py3study
  • leetcode 1. 两数之和

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

    火与剑
  • LeetCode-1 两数之和

    给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那 两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个...

    用户3470542
  • leetcode(1)---两数之和

    gzq大数据
  • LeetCode-1 两数之和(python3)

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

    dreamkong
  • LeetCode 1. 两数之和(swift)

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

    freesan44
  • LeetCode 1. 两数之和 - Easy

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

    HLQ_Struggle
  • leetcode No 1. 两数之和

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

    week
  • LeetCode 1. 两数之和(哈希)

    题目链接:https://leetcode-cn.com/problems/two-sum/

    Michael阿明
  • Leetcode 1. 两数之和 (Python版)

    有粉丝说我一个学算法的不去做Leetcode是不是浪费,于是今天闲来没事想尝试一下Leetcode,结果果断翻车,第一题没看懂,一直当我看到所有答案的开头都一样...

    风骨散人Chiam
  • LeetCode 1:两数之和 Two Sum

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

    爱写bug
  • 画解算法 1-两数之和

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

    灵魂画师牧码
  • 【刷穿 LeetCode】1. 两数之和(简单)

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

    宫水三叶的刷题日记
  • 从零打卡leetcode之day 1--两数之和

    不过心里才两个循环时间复杂度可是n的平方,心想肯定得超时,不过还是大胆提交一下提交,呵呵,居然通过了。。。。

    帅地

扫码关注云+社区

领取腾讯云代金券