在 Python 中找到在所有正前缀和前插入的最小值的程序

在 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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程