用 JavaScript 平衡数组索引总和
问题
我们要求编写一个 JavaScript 函数,该函数以整数数组 arr 作为第一个也是唯一参数。
我们的函数要求选择并返回数组中的一个索引,使该索引左侧元素的总和等于右侧元素的总和。如果数组中不存在这样的索引,我们应该返回 -1。
例如,如果输入函数为 −
输入
const arr = [1, 2, 3, 4, 3, 2, 1];
输出
const output = 3;
输出说明
因为索引 3 两边的元素总和相等 (6)。
示例
代码如下 −
const arr = [1, 2, 3, 4, 3, 2, 1];
const balancingIndex = (arr = []) => {
const findSum = arr => arr.reduce((acc, x) => acc + x, 0);
for(let i = 0; i < arr.length; i++){
const leftSum = findSum(arr.slice(0, i));
const rightSum = findSum(arr.slice(i + 1));
if(leftSum === rightSum){
return i;
};
};
return -1;
};
console.log(balancingIndex(arr));输出
3
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP