1413. Minimum Value to Get Positive Step by Step Sum

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;
    }
}

致谢 #

宫水三叶