题解 | #数组求和#
数组求和
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
}
查看11道真题和解析