在 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中
-
for i in range 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