## Description

https://leetcode.com/problems/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:5Explanation: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:1Explanation:Minimum start value should be positive.

**Example 3:**

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

**Constraints:**

`1 <= nums.length <= 100`

`-100 <= nums[i] <= 100`

## Explanation

Starting from positive number 1 and check which minimum positive number can make the sum meets the requirement.

## Python Solution

```
class Solution:
def minStartValue(self, nums: List[int]) -> int:
start_value = 1
is_found = False
while not is_found:
summing = start_value
i = 0
while i < len(nums):
summing += nums[i]
if summing < 1:
break
i += 1
if i == len(nums):
is_found = True
else:
start_value += 1
return start_value
```

- Time Complexity: O(N).
- Space Complexity: O(1).