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 | 2Example 2:
Input: nums = [1,2] Output: 1 Explanation: Minimum start value should be positive.Example 3:
Input: nums = [1,-2,-3] Output: 5Constraints:
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 | Minimum Depth of Binary Tree
leetcode?python 111. Minimum Depth of Binary Tree
LeetCode 530. Minimum Absolute Difference in BST(在二叉查找树中查找两个节点之差的最小绝对值)