查找 Python 中最多冰淇淋棒的程序
假设我们有一个包含 n 个元素的数组成本,其中 costs[i] 是第 i 个冰淇淋棒的价格(以硬币为单位)。我们最初有 c 个硬币可花,并且我们希望尽可能多地购买冰淇淋棒。我们需要求出我们能用 c 个硬币购买的最大冰淇淋棒数。
因此,如果输入为成本 = [3,1,4,5,2],c = 10,则输出将为 4,因为我们可以在索引 0、1、2、4 处购买冰淇淋棒,总价格为 3 + 1 + 4 + 2 = 10。
为解决此问题,我们将执行以下步骤:
对列表成本排序
i:= 0
只要 i < 成本的规模并且 c >= 成本[i],则执行
c := c - 成本[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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP