用 Python 在商店中找到具有特殊折扣的最终价格的程序
假设我们有一个名为价格的数组,其中价格[i]表示商店中第i件商品的价格。有一个特价正在进行中,如果我们购买第i件商品,那么我们将获得等价于价格[j]的折扣,其中j是最小指数,使得j>i并且第j件商品的价格小于或等于第i个项目(即价格[j]<=价格[i]),否则我们将不会获得任何折扣。我们必须找到一个数组,其中第i个元素是考虑到特殊折扣我们将为商店的第i件商品支付的最终价格。
所以,如果输入像价格=[16,8,12,4,6],那么输出将是[8,4,8,4,6],因为item0的价格是16,所以我们会得到一个折扣等价于价格[1]=8,那么,最终价格将是8-4=4。对于商品1,价格[1]是8,我们将收到价格等价于价格[3]=2的折扣,因此,最终我们将支付的价格为8-4=4。对于价格[2]为12的商品2,我们将获得与价格[3]=4相同的折扣值,因此,我们将支付的最终价格为12-4=8.对于第3项和第4项,我们将不会获得任何折扣。
示例(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]