Python程式:計算賣鞋收入
假設一家鞋店有n雙不同尺寸的鞋子,尺寸存放在名為size的陣列中,還有一個包含m個顧客需求的列表demand,其中demand[i]包含(鞋碼, 價格),表示顧客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的鞋子
第五個顧客將以60元的價格購買尺碼為18的鞋子
第六個顧客將買不到鞋子,因為沒有尺碼為10的鞋子
總收入為55 + 45 + 40 + 60 = 200。
為了解決這個問題,我們將遵循以下步驟:
- n := demand 的大小
- sizes := 一個對映,包含基於鞋碼的鞋子數量
- earn := 0
- for i in range 0 to n - 1:
- (sz, price) := demand[i]
- 如果sizes中存在尺碼為sz的鞋子,則:
- sizes[sz] := sizes[sz] - 1
- earn := earn + price
- return earn
示例
讓我們看看下面的實現,以便更好地理解。
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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP