js编程:数组求和

待我称王封你为后i 2022-06-18 04:24 273阅读 0赞

数组求和
链接:https://www.nowcoder.com/questionTerminal/cc3ce199461c4c4cb8f63db61d7eba30
来源:牛客网

计算给定数组 arr 中所有元素的总和

输入描述:
数组中的元素均为 Number 类型

输入例子:
sum([ 1, 2, 3, 4 ])

输出例子:
10

很多人都说这不是很简单吗,直接for循环就行了
但是对于我,在牛客的在线编程上写的,还真就不是那么简单了。像在这样的平台上写代码一定要十分的注意,要考虑很多细节问题。
一开始我是这么写的

  1. function sum(arr) {
  2. var s = 0;
  3. for (var i=0;i<arr.length;i++) { s+= arr[i]; return s; }

看看好像是对的,但是系统就是不给我通过,说不是所有用例都能通过。是不是很尴尬,后面想想,是不是要考虑数组长度为0时,为1时呢,好像是,所以正确代码是这样的

  1. function sum(arr) {
  2. var s=0;
  3. if(arr.length==0){
  4. return 0;
  5. }
  6. else if(arr.length==1){
  7. return arr[0];
  8. }
  9. else{
  10. for(var i=0;i<arr.length;i++){
  11. s+=arr[i];
  12. }
  13. return s;
  14. }
  15. }

另外几种解法:
递归

  1. /*
  2. slice方法:从已有的数组中返回选定的元素。
  3. slice(start,end);不指定end,就是从start开始,到数组结束为止
  4. *
  5. function sum(arr){
  6. //还是要判断数组的长度
  7. if(arr.length==0){
  8. return 0;
  9. }
  10. else if(arr.length==1){
  11. return arr[0];
  12. }else{
  13. return arr[0]+sum(arr.slice(1));
  14. }
  15. }

发表评论

表情:
评论列表 (有 0 条评论,273人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java实现数组求和

    1 问题 在日常生活中,我们有时需要求解一些数据的和,那么我们能否通过java写出一个程序计算出一串数组之和呢? 2 方法 采用while循环的方法,将每位数上每

    相关 数组求和

    数组求和是这样描述的: 计算给定数组 arr 中所有元素的总和 输入的要求是这样的: 数组中的元素均为Number类型 实例: 输入:\[1,2,3,4\]