/**
* @param {number[]} numbers
* @param {number} target
* @return {number[]}
*/
var twoSum = function(numbers, target) {
for(let i=0; i<numbers.length;i++) {
for (let j = i + 1; j < numbers.length; j++) {
let num1 = numbers[i];
let num2 = numbers[j];
if (num1 + num2 == target) {
return [i + 1, j + 1];
}
}
}
};
执行用时:344ms 。和最优的52ms相差7倍。。有待优化
最优解法:
/**
* @param {number[]} numbers
* @param {number} target
* @return {number[]}
*/
let twoSum = function(numbers, target) {
for (let i = 0, j = numbers.length - 1; i < j;) {
if (numbers[i] + numbers[j] === target) {
return [i + 1, j + 1];
} else if (numbers[i] + numbers[j] > target) {
--j;
} else {
++i;
}
}
};