在Python中查找最大的冰激淋棒

在Python中查找最大的冰激淋棒

假设我们有一个名为costs的n个元素的数组,其中costs[i]是第i个冰激淋棒的价格,以硬币计算。我们最初有c个硬币要花费,并且希望尽可能多地购买冰激凌棒。我们必须找到我们可以用c个硬币购买的最大冰激淋棒数量。

因此,如果输入如下:costs = [3,1,4,5,2],c = 10,则输出将为4,因为我们可以购买在索引0,1,2,4中的冰激淋棒,其总价格为3 + 1 + 4 + 2 = 10。

要解决这个问题,我们将按照以下步骤进行操作−

  • 将列表costs排序

  • i:= 0

  • 当i小于costs中元素的数量且c大于等于costs[i]时,执行

    • c:= c – costs[i]

    • i := i+1

  • 返回i

示例

让我们看一下以下实现,以更好地理解−

def solve(costs, c):
   costs.sort()
   i=0
   while(i<len(costs) and c >= costs[i]):
      c = c-costs[i]
      i=i+1
   return i

costs = [3,1,4,5,2]
c = 10
print(solve(costs, c))

输入

[3,1,4,5,2], 10

输出

4

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程