1475. Final Prices With a Special Discount in a Shop #
题目 #
- 给你一个数组
prices
,其中prices[i]
是商店里第i
件商品的价格。 - 商店里正在进行促销活动,如果你要买第
i
件商品,那么你可以得到与prices[j]
相等的折扣,其中j
是满足j > i
且prices[j] <= prices[i]
的 最小下标 ,如果没有满足条件的j
,你将没有任何折扣。 - 请你返回一个数组,数组中第
i
个元素是折扣后你购买商品i
最终需要支付的价格。
思路 #
模拟 #
单调栈 #
代码 #
模拟 #
class Solution {
public int[] finalPrices(int[] prices) {
int[] finalPrices = prices.clone();
for (int i = 0; i < prices.length; i++) {
for (int j = i+1; j < prices.length; j++) {
if (prices[i] >= prices[j]) {
finalPrices[i] -= prices[j];
break;
}
}
}
return finalPrices;
}
}