使用Python在商店计算商品最终价格的程序加上特殊折扣

使用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的折扣,那么,最终价格将是8-4 = 4。对于物品1,价格[1]是8,我们将获得相当于prices [3] = 2的折扣,因此,我们将支付的最终价格为8-4 = 4。对于价格[2]为12的物品2,我们将获得与价格[3] = 4相同的折扣值,因此,我们将支付的最终价格为12-4 = 8。对于物品3和4,我们将不会获得任何折扣。

为了解决这个问题,我们将遵循以下步骤:

  • 对于i在0到prices的大小的范围内,做以下操作
    • 对于j在i + 1到prices的大小的范围内,执行以下操作
      • 如果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]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程