区间求值算法挑战
问题:
我们会传递给你一个包含两个数字的数组。返回这两个数字和它们之间所有数字的和。
最小的数字并非总在最前面。
如果你被难住了,记得使用 Read-Search-Ask。尝试与他人交流编程思路、但编写你自己的代码。
要求:
sumAll([1, 4])
应该返回一个数字。
sumAll([1, 4])
应该返回 10。
sumAll([4, 1])
应该返回 10。
sumAll([5, 10])
应该返回 45。
sumAll([10, 5])
应该返回 45。
问题答案:
function sumAll(arr) {
var min = Math.min(arr[0],arr[1]);
var max = Math.max(arr[0],arr[1]);
var newArr = [];
for(var i=0;i<=max-min;i++){
newArr[i] = min+i;
}
return newArr.reduce(function(a,b){return a+b;});
}
sumAll([1, 4]);
原题链接:
https://www.w3cschool.cn/codecamp/sum-all-numbers-in-a-range.html