1413. Minimum Value to Get Positive Step by Step Sum LeetCode Solution

In this guide, you will get 1413. Minimum Value to Get Positive Step by Step Sum LeetCode Solution with the best time and space complexity. The solution to Minimum Value to Get Positive Step by Step Sum problem is provided in various programming languages like C++, Java, and Python. This will be helpful for you if you are preparing for placements, hackathons, interviews, or practice purposes. The solutions provided here are very easy to follow and include detailed explanations.

Table of Contents

  1. Problem Statement
  2. Complexity Analysis
  3. Minimum Value to Get Positive Step by Step Sum solution in C++
  4. Minimum Value to Get Positive Step by Step Sum solution in Java
  5. Minimum Value to Get Positive Step by Step Sum solution in Python
  6. Additional Resources
1413. Minimum Value to Get Positive Step by Step Sum LeetCode Solution image

Problem Statement of 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.

See also  367. Valid Perfect Square LeetCode Solution

Example 3:

Input: nums = [1,-2,-3]
Output: 5

Constraints:

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

Complexity Analysis

  • Time Complexity: O(n)
  • Space Complexity: O(1)

1413. Minimum Value to Get Positive Step by Step Sum LeetCode Solution in C++

class Solution {
 public:
  int minStartValue(vector<int>& nums) {
    int sum = 0;
    int minSum = 0;

    for (const int num : nums)
      minSum = min(minSum, sum += num);

    return 1 - minSum;
  }
};
/* code provided by PROGIEZ */

1413. Minimum Value to Get Positive Step by Step Sum LeetCode Solution in Java

class Solution {
  public int minStartValue(int[] nums) {
    int sum = 0;
    int minSum = 0;

    for (final int num : nums)
      minSum = Math.min(minSum, sum += num);

    return 1 - minSum;
  }
}
// code provided by PROGIEZ

1413. Minimum Value to Get Positive Step by Step Sum LeetCode Solution in Python

class Solution:
  def minStartValue(self, nums: list[int]) -> int:
    summ = 0
    minSum = 0

    for num in nums:
      summ += num
      minSum = min(minSum, summ)

    return 1 - minSum
# code by PROGIEZ

Additional Resources

Happy Coding! Keep following PROGIEZ for more updates and solutions.