CodeACM
HOT 100 · 哈希 · LC 1

两数之和:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

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

你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。

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

输入格式

输入共两行。

第一行包含两个整数 n 和 target,分别表示数组长度和目标值。

第二行包含 n 个整数 nums[0], nums[1], …, nums[n-1],相邻数字以空格分隔。

输出格式

输出一行两个整数,以空格分隔,表示满足条件的两个元素下标。数组下标从 0 开始。

数据范围

  • 2 ≤ n ≤ 10⁴
  • −10⁹ ≤ nums[i] ≤ 10⁹
  • −10⁹ ≤ target ≤ 10⁹
  • 每组输入恰好存在一个有效答案

公开样例

样例 1

输入

4 9
2 7 11 15

输出

0 1

nums[0] + nums[1] = 2 + 7 = 9。

样例 2

输入

3 6
3 2 4

输出

1 2

nums[1] + nums[2] = 2 + 4 = 6。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。