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;
}
}