JavaScript 中相等总和的三分数组
问题
我们需要编写一个 JavaScript 函数,该函数将一个整数数组作为第一个且唯一的参数。只有当数组可以分为三部分时且每部分具有相等总和才能返回 true,否则返回 false。
例如,如果函数输入为 −
const arr = [3, 3, 6, 5, -2, 2, 5, 1, -9, 4];
那么输出应该是 −
const output = true;
输出解释
因为,
3 + 3 = 6 = 5 - 2 + 2 + 5 + 1 - 9 + 4
示例
代码为 −
const arr = [3, 3, 6, 5, -2, 2, 5, 1, -9, 4];
const thirdSum = (arr = []) => {
const sum = arr.reduce((acc, val) => acc + val, 0);
if(!Number.isInteger(sum / 3)){
return false;
};
let count = 0;
let curr = 0;
const target = sum / 3;
for(const num of arr){
curr += num;
if(curr === target){
curr = 0;
count += 1;
};
};
return count === 3 && curr === 0;
};
console.log(thirdSum(arr));输出
控制台输出为 −
true
广告
数据结构
组网
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP