在Python中找到最大连续值的程序

在Python中找到最大连续值的程序

假设我们有一个由n个元素组成的数组coins,表示我们拥有的硬币。第i个硬币的价值表示为coins [i]。如果我们可以选择一些价值之和为x的n个硬币,那么我们可以得到一些值x。我们必须从0开始并包括它,并找到可以用硬币获得的最大连续值数量。

因此,如果输入如下所示的硬币 = [1,1,3,4],则输出将是10,因为

  • 0 = []

  • 1 = [1]

  • 2 = [1,1]

  • 3 = [3]

  • 4 = [4]

  • 5 = [4,1]

  • 6 = [4,1,1]

  • 7 = [4,3]

  • 8 = [4,3,1]

  • 9 = [4,3,1,1]

为了解决这个问题,我们将遵循以下步骤–。

  • 对硬币列表进行排序

  • ans := 1

  • 对于硬币中的每个硬币,进行如下操作

    • 如果硬币 > ans,则
      • 退出循环
    • ans:= ans+硬币

  • 返回ans

例子

让我们看看以下实现以更好地理解-。

def solve(coins):
   coins.sort()
   ans = 1
   for coin in coins:
      if coin > ans:
         break
      ans+=coin
   return ans

coins = [1,1,3,4]
print(solve(coins))

输入

[1,1,3,4]

输出

10

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程