1413. Minimum Value to Get Positive Step by Step Sum #
题目 #
-
给你一个整数数组
nums
。你可以选定任意的 正数startValue
作为初始值。 -
你需要从左到右遍历
nums
数组,并将startValue
依次累加上nums
数组中的值。 -
请你在确保累加和始终大于等于 1 的前提下,选出一个最小的 正数 作为
startValue
。
思路 #
模拟 #
代码 #
模拟 #
class Solution {
public int minStartValue(int[] nums) {
int ans = 1, prefixSum = 1;
for (int num: nums) {
prefixSum += num;
if (prefixSum < 1) {
ans += 1 - prefixSum;
prefixSum = 1;
}
}
return ans;
}
}