题目1:两数之和https://leetcode.cn/problems/two-sum/
给定一个整数数组 nums
和一个整数目标值 target
,请你在该数组中找出 和为目标值 target
的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
let n = nums.length;
for(let i = 0;i < n; ++i){
for(let j= i+1;j<n;++j){
if(nums[i] + nums[j] === target){
return [i,j]
}
}
}
};
解题思路:
循环遍历数组中的每一个数 item,寻找数组中是否存在 item[index] + item[index+n] = target。因为不能使用两次相同的元素,所以只需要匹配item[i]和item[i+1]之和是否满足条件即可。