假设我们有一个待售汽车的价格列表,并且还有一个预算k,我们必须找到可以购买的最大汽车数量。
因此,如果输入为[80,20,10,30,80],k = 85,则输出将为3,因为我们可以以价格20、10、40购买三辆汽车
为了解决这个问题,我们将遵循以下步骤-
计数:= 0
排序列表价格
对于价格范围为0的i,
从循环中出来
k:= k-价格[i]
数:=数+ 1
如果价格[i] <= k,则
除此以外,
返回计数
让我们看下面的实现以更好地理解-
class Solution: def solve(self, prices, k): count =0 prices.sort() for i in range(len(prices)): if(prices[i]<=k): k = k-prices[i] count += 1 else: break return count ob = Solution()p = [80, 20, 10, 30, 80] print(ob.solve(p, 85))
[80, 20, 10, 30, 80], 85
输出结果
3