《算法巩固》学习第一天
自己走在前端的茫茫人海中已经两年多了, 最近发现自己算法功底不是很好,就听从高人指点迷津开始算法巩固大学基础的第一天
题目
给定一个整数数列,找出其中和为特定值的那两个数。你可以假设每个输入都只会有一种答案,同样的元素不能被重用。实例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]普通的方案 (1)
1 | /** |
- 精简方案
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
var result = [];
nums.reduce(function(last, current, idx, array) {
if (array[last] + current === target) {
result = [last, idx]
}
return idx
}, 0)
return result
};