题解 | #数组求和#

数组求和

http://www.nowcoder.com/practice/cc3ce199461c4c4cb8f63db61d7eba30

其实暴力方法很多,但是想考虑性能,个人感觉二分法的性能不错。

function sum(arr) {
  if (arr.length % 2 === 0) {
      let left = 0
      let right = 0
      let length = arr.length
      for (let i = 0; i < arr.length / 2 ; i++) {
          left = arr[i] + left
          right = arr[length - 1] + right
          length--
      }
      sum = left + right
  } else {
      let left = 0
      let right = 0
      let length = arr.length
      for (let i = 0; i < arr.length / 2 ; i++) {
          if (i !== length - 1) {
            left = arr[i] + left
            right = arr[length - 1] + right
            length--
          }
      }
      sum = left + right + arr[length - 1]
  }

  return sum
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务