给定一个整数列表 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的列表索引。 每种输入只需要对应一个答案。但是,你不能重复使用这个数组中同样位置的元素。 如果没找到解,输出“Fail”
时间: 2023-10-20 19:24:18 浏览: 107
js代码-给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
5星 · 资源好评率100%
这是一个经典的算法题,可以使用哈希表来解决。具体思路是,遍历整个列表,对于每个数,判断目标值减去该数是否在哈希表中出现过,如果出现过,则找到了答案,如果没有出现过,则将该数及其索引加入哈希表中。以下是 Python 代码:
```python
def twoSum(nums, target):
hash_table = {}
for i, num in enumerate(nums):
complement = target - num
if complement in hash_table:
return [hash_table[complement], i]
hash_table[num] = i
return "Fail"
```
其中,enumerate 函数是 Python 内置函数,用于同时遍历列表的元素和索引。该函数返回一个可迭代对象,每个元素是一个二元组,第一个元素是索引,第二个元素是列表对应索引的元素。
阅读全文