1413. Minimum Value to Get Positive Step by Step Sum

Given an array of integers nums, you start with an initial positive value startValue .

In each iteration, you calculate the step by step sum of startValue plus elements in nums (from left to right).

Return the minimum positive value of startValue such that the step by step sum is never less than 1.

Example 1:

复制代码
Input: nums = [-3,2,-3,4,2]
Output: 5
Explanation: If you choose startValue = 4, in the third iteration your step by step sum is less than 1.
step by step sum
startValue = 4 | startValue = 5 | nums
  (4 -3 ) = 1  | (5 -3 ) = 2    |  -3
  (1 +2 ) = 3  | (2 +2 ) = 4    |   2
  (3 -3 ) = 0  | (4 -3 ) = 1    |  -3
  (0 +4 ) = 4  | (1 +4 ) = 5    |   4
  (4 +2 ) = 6  | (5 +2 ) = 7    |   2

Example 2:

复制代码
Input: nums = [1,2]
Output: 1
Explanation: Minimum start value should be positive. 

Example 3:

复制代码
Input: nums = [1,-2,-3]
Output: 5

Constraints:

  • 1 <= nums.length <= 100
  • -100 <= nums[i] <= 100

这道题说是从一个startValue开始,从左往右加数组里的数字,要保证每次加完这个值都不小于1。翻译过来就是,求这个数组的prefix sum最小的那个数,如果最小的就不小于1,那就return最小的startValue which is 1,如果最小的小于1,那就return (-sum) + 1

复制代码
class Solution {
    public int minStartValue(int[] nums) {
        int min = Integer.MAX_VALUE;
        int sum = 0;
        for (int num : nums) {
            sum += num;
            min = Math.min(min, sum);
        }
        return min >= 1 ? 1 : 1 - min;
    }
}
相关推荐
IronMurphy4 小时前
【算法四十三】279. 完全平方数
算法
墨染天姬4 小时前
【AI】Hermes的GEPA算法
人工智能·算法
papership4 小时前
【入门级-数据结构-3、特殊树:完全二叉树的数组表示法】
数据结构·算法·链表
smj2302_796826524 小时前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode
山甫aa4 小时前
差分数组 ----- 从零开始的数据结构
数据结构
早日退休!!!5 小时前
《数据结构选型指南》笔记
数据结构·数据库·oracle
Beginner x_u5 小时前
链表专题:JS 实现原理与高频算法题总结
javascript·算法·链表
丑八怪大丑5 小时前
Java数据结构与集合源码
数据结构
_深海凉_8 小时前
LeetCode热题100-寻找两个正序数组的中位数
算法·leetcode·职场和发展
旖-旎9 小时前
深搜练习(电话号码字母组合)(3)
c++·算法·力扣·深度优先遍历