1、问题描述
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 可以假设每种输入只会对应一个答案,但是数组中同一个元素不能使用两遍。
2、解题思路
1、数组中至少要有两个元素 2、先找一个数作为参照,用最后一个数如何? 3、判断一下目标值与参照值的差值是否存在于数组中 3.1、差值不能是参照值,所以在取到最后一个值的时候直接pop() 4、存在则返回这个差值和参照值的索引 4.1、差值的索引使用indexOf()方法,参照值的索引则取pop()后数组的length
3、解题代码
var twoSum = function(nums
, target
) {
while(nums
.length
> 1) {
let last
= nums
.pop();
if (nums
.includes(target
- last
)) {
return [nums
.indexOf(target
- last
), nums
.length
]
}
}
};