Python程式:計算商店商品最終價格(含特殊折扣)
假設我們有一個名為prices的陣列,其中prices[i]表示商店中第i件商品的價格。商店正在進行一項特別優惠活動:如果購買第i件商品,則將獲得等值於prices[j]的折扣,其中j是最小索引,滿足j > i且第j件商品的價格小於或等於第i件商品的價格(即prices[j] <= prices[i]),否則,將不會獲得任何折扣。我們需要找到一個數組,其中第i個元素是考慮到特殊折扣後,我們將為商店的第i件商品支付的最終價格。
因此,如果輸入類似於prices = [16,8,12,4,6],則輸出將為[8, 4, 8, 4, 6],因為商品0的價格為16,所以我們將獲得等值於prices[1]=8的折扣,然後最終價格將為16 - 8 = 8。對於商品1,price[1]為8,我們將獲得等值於prices[3]=4的折扣,因此我們將支付的最終價格為8 - 4 = 4。對於價格為12的商品2,我們將獲得與prices[3] = 4相同的折扣值,因此我們將支付的最終價格為12 - 4 = 8。對於商品3和4,我們將不會獲得任何折扣。
為了解決這個問題,我們將遵循以下步驟:
對於從0到prices大小的範圍內的i:
對於從i+1到prices大小的範圍內的j:
如果prices[i] >= prices[j],則:
prices[i] := prices[i] - prices[j]
退出迴圈
否則:
j := j + 1
返回prices
示例(Python)
讓我們看看下面的實現,以便更好地理解:
def solve(prices): for i in range(len(prices)): for j in range(i+1,len(prices)): if(prices[i]>=prices[j]): prices[i]-=prices[j] break else: j+=1 return prices prices = [16,8,12,4,6] print(solve(prices))
輸入
[16,8,12,4,6]
輸出
[8, 4, 8, 4, 6]
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP