leetcode1413. Minimum Value to Get Positive Step by Step Sum

Posted seyjs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode1413. 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

解题思路:从左往右依次累加nums的和,如果遇到和为负数的情况,只要保证 startValue = min(负数和) + 1 即可;如果全为正数,startValue = 1。

代码如下:

class Solution(object):
    def minStartValue(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        min_val = float(inf)
        amount = 0
        for i in nums:
            amount += i
            min_val = min(min_val,amount)
        if min_val >= 1:return 1
        else:return abs(min_val) + 1

 

以上是关于leetcode1413. Minimum Value to Get Positive Step by Step Sum的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode --- 1413. Minimum Value to Get Positive Step by Step Sum 解题报告

LeetCode 1413.逐步求和得到正数的最小值

LeetCode | Minimum Depth of Binary Tree

leetcode?python 111. Minimum Depth of Binary Tree

1413. 逐步求和得到正数的最小值前缀和

LeetCode 530. Minimum Absolute Difference in BST(在二叉查找树中查找两个节点之差的最小绝对值)