随笔-生活工作点滴

区间求值算法挑战

2019-07-05  本文已影响0人  YOLO_2a2d

我们会传递给你一个包含两个数字的数组。返回这两个数字和它们之间所有数字的和。

最小的数字并非总在最前面。

这边是一些提示:

Math.max()

Math.min()

Array.prototype.reduce()

关于提示参考链接:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/max

遇到的问题:

1 在调用Math.max()和Math.min()寻找arr中的最值得时候,通过F12发现,返回了Nan;

解决方法:

通过使用最新的扩展语句spread operator,获得数组中的最大值变得更容易;

参考链接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/max

最后编码实现:

function sumAll(arr) {

    var max=Math.max(...arr);

    var min=Math.min(...arr);

    var count=[min,max].reduce(function(accumulator, currentValue, currentIndex, array){

        var sum=0;

        for(var i=accumulator;i<=currentValue;i++){

            sum+=i;   

        }

        return sum;

    });

return count;

}

sumAll([1, 4]);

算法还是通过自己动手得才能算是自己得~~小声bb

上一篇 下一篇

猜你喜欢

热点阅读