leetcode刷题记录
-
两数之和
给定一个整数数组
nums
和一个目标值target
,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
给定 nums = [2,7,11,15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回[0,1]分析:
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]; } } } };
总结:
1.js中的Array对象的push()方法表示可以向数组的末尾添加体格或多个元素,并返回新的长度。
2.push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个3.新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。
该方法会改变数组的长度。