FCC -- Sum All Numbers in a Range(给定数字范围求和)

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

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

上面的描述是FCC给出的算法描述,简单易懂。

解题思路:

要求两个数字范围内的数字的总和,用for循环或者while循环就够用了。

但在这里需要注意的就是两个数字的大小,比较一下大小,再用循环累加就可以了。

function sumAll(arr) { 
  var sum=0;
  if(arr[0]<arr[1]){
    for(var i=arr[0];i<=arr[1];i++){
      sum += i;
    }
  }else{
    for(var k=arr[1];k<=arr[0];k++){
      sum += k;
    }
  }
  return sum;
}

sumAll([1, 4]);

很简单,一看就懂。先判断大小,再用循环进行累加。


----------------------------------------------------------------------------------------------------------------------------------

function sumAll(arr) {
    var left = Math.min.apply(null, arr);
    var right = Math.max.apply(null, arr);
    var numArr = [];

    for (var i = left; i <= right; i++) {
        numArr.push(i);
    }

    return numArr.reduce(function(prev, next) {
        return prev + next;
    })
}




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值