题目描述
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。
题目保证只有一种答案,但是要求给定数组 nums 中的值不能重复出现。
输入输出格式
输入格式
第一行有一个整型数组;
第二行有一个整数。
输出格式
一行整形数组。
输入输出样例1
输入[2,7,11,15]9
输出[0,1]
解释
输入数组中第一个元素 2 与第二个元素 7 之和等于 9。因此输出 2 与 7 的下标 [0,1]。
输入输出样例2
输入[3,2,4]7
输出[0,2]
解释
输入数组中第一个元素 3 与第三个元素 4 之和等于 7。因此输出 3 与 4 的下标 [0,2]。
说明提示
2≤nums.length≤104−109 ≤nums[i]≤109−109 ≤target≤109- 只会存在一个有效答案。
#暴力枚举 def twoSum(nums, target): n = len(nums) for i in range(n): for j in range(i + 1, n): if nums[i] + nums[j] == target: return [i, j] return [] #哈希表 def twoSum(nums, target): hashtable = dict() for i, num in enumerate(nums): if target - num in hashtable: return [hashtable[target - num], i] hashtable[nums[i]] = i return [] nums = eval(input()) target = int(input()) print(twoSum(nums, target))









