Python程序求卖鞋能赚多少钱

假设在一家鞋店里,有 n 种不同尺码的鞋子出现在一个称为 size 的数组中,并且给出了 m 个称为需求的客户的另一双鞋列表,其中需求 [i] 包含 (shoe_size, money),因此需求为 i 的客户有要求尺码为shoe_size 且他/她可以支付给定金额的鞋子。我们必须找出店主卖这双鞋能赚多少钱。

所以,如果输入像 shoes = [2,3,4,5,6,8,7,6,5,18] demand = [(6,55), (6,45), (6,55) , (4,40), (18,60), (10,50)],那么输出将是 200,因为

  • 第一个会以 55 的价格购买 6 码的鞋子

  • 第二个会以 45 的价格购买 6 码的鞋子

  • 库存中没有尺码 6 的鞋子

  • 第四个会以 40 元的价格购买 4 码的鞋子

  • 第五个会买18码的鞋子,成本是60

  • 第六个不会得到鞋子,因为没有10码的鞋子

总收入 55 + 45 + 40 + 60 = 200。

示例

让我们看下面的实现来更好地理解

from collections import Counter

def solve(shoes, demand):

   n = len(demand)

   sizes = Counter(shoes)

   earn = 0

   for i in range(n):

      sz, price = demand[i]

      if sizes[sz]:

         sizes[sz] -= 1

         earn += price

   return earn

shoes = [2,3,4,5,6,8,7,6,5,18]

demand = [(6,55), (6,45), (6,55), (4,40), (18,60), (10,50)]

print(solve(shoes, demand))

输入

[2,3,4,5,6,8,7,6,5,18], [(6,55), (6,45), (6,55), (4,40), (18,60),

(10,50)]

输出结果
200

以上是 Python程序求卖鞋能赚多少钱 的全部内容, 来源链接: utcz.com/z/327378.html

回到顶部