leetcode:1475. 商品折扣后的最终价格

tech2022-08-23  148

给你一个数组 prices ,其中 prices[i] 是商店里第 i 件商品的价格。

商店里正在进行促销活动,如果你要买第 i 件商品,那么你可以得到与 prices[j] 相等的折扣,其中 j 是满足 j > i 且 prices[j] <= prices[i] 的 最小下标 ,如果没有满足条件的 j ,你将没有任何折扣。

请你返回一个数组,数组中第 i 个元素是折扣后你购买商品 i 最终需要支付的价格。 时间复杂度:O(N^2) 空间复杂度:O(N)

class Solution { public int[] finalPrices(int[] prices) { int[] res = Arrays.copyOf(prices, prices.length); int discount = 0; for(int i = 0; i < prices.length - 1; i++){ for(int j = i + 1; j < prices.length; j++){ if(prices[j] <= prices[i]){ res[i] = prices[i] - prices[j]; break; } } } return res; } }
最新回复(0)