给定一个整数数组,找到起始的最小数字 X,使得数组元素与 X 相加,总和始终大于或等于 1
如果给定数组是 {-2, 3, 1, -5} 例如,在上面的数组中,X 应该是 4
解释:如果我们从 4 开始,然后添加第一个数字 -2,数组总和变为 4 + (-2) = 2 (>0) 现在将下一个元素 3 添加到当前总和 2,2+ 3 = 5 (>0)将下一个元素 1 添加到新的和 5 中得到 5 + 1 = 6 (>0)将最后一个元素 -5 添加到新的和 6 中得到 6 + (-5) = 1,这又更大比零。
到目前为止,这是我的代码,但它不起作用:
function minX(arr) {
var sum = 0
var runningSum= 0
for (var i=0; i < arr.length; i++){
if ((arr[i] + sum) <= 1){
var diff = arr[i] + sum
var someNumber = 1 - diff
sum = someNumber + sum
}
runningSum += arr[i]
}
return sum
}
尚方宝剑之说
HUH函数
SMILET
相关分类