打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python|商品折扣后的最终价格
问题描述
给定一个数组 prices ,其中 prices[i] 是商店里第 i 件商品的价格。 商店里正在进行促销活动,如果你要买第 i 件商品,那么你可以得到与 prices[j] 相等的折扣,其中 j 是满足 j > i 且 prices[j] <= prices[i] 的 最小下标 ,如果没有满足条件的 j ,你将没有任何折扣。请你返回一个数组,数组中第 i 个元素是折扣后你购买商品 i 最终需要支付的价格。解决方案
首先由题目可知该活动不存在折扣的商品有以下几种,应直接输出该商品价格:
1 、该商品为最后一件商品
2、本次活动只有唯一一件商品
3、该商品为本次活动价格最低的商品
若以上三种情况以外的情况,我们要对该商品与其后面的商品进行价格对比并找出价格最低的商品,再用该商品减去最低价商品的价格。
代码如下:
prices = [   ]
if len(prices) == 1:
print(prices)
for i in range(len(prices) - 1):
j = i + 1
sum = 0
while j < len(prices):
if prices[j] <= prices[i]:
sum = 1
break
else:
j += 1
if sum == 1:
prices[i] = prices[i] - prices[j]
print(prices)
结语
本题存在多种无折扣情况,需进行准备完整的判断;在确定其有折扣存在后应准确找出该商品后的最低价商品再进行计算。实习主编:欧洋
责编 :涂瀚鑫
能力越强,责任越大。
实事求是,严谨细致。
(where2go团队)
微信号:算法与编程之美
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python常用的算法——贪心算法(又称贪婪算法),你知道吗?
C++数组形参的使用
数组分组问题
21.03.09 LeetCode15. 三数之和
你知道吗?德国打折季正在拉开帷幕……
主图水印-智能价格设置
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服