用 Python 编写程序来查找最大数量的冰淇淋

pythonserver side programmingprogramming更新于 2025/12/13 3:56:17

假设我们有一个包含 n 个元素的数组 cost,其中 cost[i] 是第 i 个冰淇淋的价格(以硬币为单位)。我们最初有 c 个硬币可供使用,我们想购买尽可能多的冰淇淋。我们必须找到用 c 个硬币可以购买的最大冰淇淋数量。

因此,如果输入为 cost = [3,1,4,5,2], c = 10,则输出将为 4,因为我们可以以 3 + 1 + 4 + 2 = 10 的总价格购买索引为 0,1,2,4 的冰淇淋。

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

  • 对列表 cost 进行排序

  • i:= 0

  • while i <costs 的大小和 c >= 成本[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

相关文章


有用资源