Python 程序:查找在开头插入的最小值,以使所有前缀和为正
假设我们有一个名为 nums 的数字列表。我们必须找到可以在 nums 的开头插入的最小正值,以便生成的列表的前缀和都大于 0。
因此,如果输入类似于 nums = [3, -6, 4, 3],则输出将为 4,因为如果我们将 4 插入到列表中,则我们有 [4, 3, -6, 4, 3]。现在前缀和为 [4, 7, 1, 5, 8],全部大于 0。
为了解决这个问题,我们将遵循以下步骤:
在位置 0 将 0 插入 nums
对于 i 从 1 到 nums 的大小 - 1,执行以下操作:
nums[i] := nums[i] + nums[i - 1]
返回 1 - nums 的最小值
示例
让我们看看以下实现以更好地理解
def solve(nums):
nums.insert(0, 0)
for i in range(1, len(nums)):
nums[i] += nums[i - 1]
return 1 - min(nums)
nums = [3, -6, 4, 3]
print(solve(nums))输入
[3, -6, 4, 3]
输出
4
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP