商品折扣后的最终价格单调栈

给你一个数组 prices ,其中 prices[i] 是商店里第 i 件商品的价格。 商店里正在进行促销活动,如果你要买第 i 件商品,那么你可以得到与 prices[j] 相等的折扣,其中 j 是满足 j > iprices[j] <= prices[i]最小下标 ,如果没有满足条件的 j ,你将没有任何折扣。 请你返回一个数组,数组中第 i 个元素是折扣后你购买商品 i 最终需要支付的价格。

ini 复制代码
输入: prices = [8,4,6,2,3]
输出: [4,2,4,2,3]
java 复制代码
class Solution {
    public int[] finalPrices(int[] prices) {
        int n=prices.length;
        int[] ans=new int[n];
        Deque<Integer> stack=new ArrayDeque<Integer>();
        for(int i=n-1;i>=0;i--){
            while(!stack.isEmpty() && stack.peek()>prices[i]){
                stack.pop();
            }
            ans[i]=stack.isEmpty()?prices[i]:prices[i]-stack.peek();
            stack.push(prices[i]);
        }
        return ans;
    }
}
相关推荐
梦想的旅途21 分钟前
企业微信API二次开发:外部群模块功能清单与全场景对接
java·python·企业微信
猿长大人21 分钟前
C# | MediatR 入门指南:后端架构解耦
分布式·后端·架构·c#·.net
校招VIP25 分钟前
[校大]27届东华理工大学JAVA简历:中厂简历通过率30%
java·秋招·校招·实习·产品岗·27届
人间凡尔赛31 分钟前
Kubernetes十周年:从Cloud Native到AI Native的架构范式跃迁
后端·云原生·架构
老白干1 小时前
基于 Spring AOP 的操作日志记录:以 DeptController 增删接口为例
java·python·spring
John jj1 小时前
拆解 Telegram 群组频道收录市场:三类方案,一个可运行的评分模型,目前TG中文人工评分加模型评分机制——LetsTG收录“快速”、“无门槛”
大数据·后端·python·深度学习·搜索引擎·django·全文检索
Boop_wu1 小时前
SpringBoot 集成阿里云短信认证服务(个人)
spring boot·后端·阿里云
Gopher_HBo1 小时前
Engine 核心(gin.go)
后端
饼饼学习空间智能1 小时前
遥操作数据能否提升机器人自主化水平?详解模仿学习、仿真放大与Sim2Real闭环
人工智能·算法
用户125758524361 小时前
为什么队列长度归零,不代表后台异步任务真的跑完了
redis·后端·go