leetcode刷题记录
两数之和
1.题目描述
给定一个整数数组 nums
和一个目标值 target
,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
给定 nums = [2,7,11,15], target (目标) = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0,1]
2.题目分析
- 题目给出了一个整数数组和目标值,所以定义的函数就该传入这两个参数;
- 不能重复使用数组中下标相同的元素;
- 函数最后返回的值是满足条件的两个数的索引值。
3.解题
(1) 解法一
var twoSum = function(nums, target) {
var arrs = [];
for (var i = 0; i < nums.length - 1; i++) {
for (var j = i + 1; j < nums.length; j++) {
if (target == nums[i] + nums[j])
nums.push(i);
nums.push(j);
}
return arrs;
}
};
(2) 解法二
var twoSum = function(nums, target) {
for (var i = 0; i < nums.length - 1; i++) {
for (var j = i + 1; j <nums.length; j++) {
if (target = nums[i] = nums[j]) {
return [i,j];
}
}
}
};
(3) 总结
js
中的Array
对象的push()
方法表示可以向数组的末尾添加体格或多个元素,并返回新的长度。push()
方法可把它的参数顺序添加到arrayObject
的尾部。它直接修改arrayObject
,而不是创建一个- 新的数组。
push()
方法和pop()
方法使用数组提供的先进后出栈的功能。
该方法会改变数组的长度。