3 回答

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
首先迭代數(shù)組,同時(shí)跟蹤迄今為止找到的最低總和。最后,結(jié)果是一個(gè)數(shù)字,將其與找到的最小總和相加得到 1:
const minX = (arr) => {
let recordMin = 0;
let sum = 0;
for (const elm of arr) {
sum += elm;
recordMin = Math.min(recordMin, sum);
}
return -recordMin + 1;
};
console.log(minX([-2, 3, 1, -5]));
console.log(minX([-2, 3, 1, -5, 999]));

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊
獲取數(shù)組元素的總和,例如,使用Array.prototype.reduce
:
arr.reduce((a, b) => a + b, 0);
然后,對(duì)其取負(fù)并加 1。所以,總而言之:
function minX(arr) { return -arr.reduce((a, b) => a + b, 0) + 1; }
或者,簡化一下:
function minX(arr) { return arr.reduce((a, b) => a - b, 1); }

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以獲取想要的結(jié)果并減去數(shù)組的所有值。
function minX(array) {
return array.reduce((s, v) => s - v, 1);
}
console.log(minX([-2, 3, 1, -5])); // 4
添加回答
舉報(bào)