leetcode第一题两数之和
要求:

解:
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
// var twoSum = function (nums, target) {
// for (let i = 0, j = nums.length - 1; i < j; i++) {
// for (let x = i + 1, z = nums.length; x < z; x++) {
// if (nums[i] + nums[x] === target) {
// return [i, x];
// }
// }
// }
// };
var twoSum = function (nums, target) {
for (let i = 0; i < nums.length; i++) {
for (let j = i+1; j < nums.length; j++) {
if (nums[i] + nums[j] == target ) {
return [i, j]
}
}
}
};
console.log(twoSum([1, 2, 3], 4));
//上面被注释的代码是身边别人写的
!!:
主要意思就是一个函数有两个参数一个参数是数组,另一个参数是数字,数组内有几个值也都是数字,他们当中有两个数字加起来的和为函数的第二个参数也就是图片中的target
注解:
//既然是在数组中寻找两个数字的和那么大家第一反应应该都是两个循环
var twoSum = function (nums, target) {
for (let i = 0; i < nums.length; i++) {
for (let j = i+1; j < nums.length; j++) {
//简单的来说就是一直循环数组来判断两数之和,在两数之和为target时返回函数
if (nums[i] + nums[j] == target ) {
return [i, j]
}
}
}
};
console.log(twoSum([1, 2, 3], 4));