题目:1475. 商品折扣后的最终价格
思路:单调栈(存放的是索引)
class Solution {
public:
vector<int> finalPrices(vector<int>& prices) {
vector<int> result(prices.size(),-1);
stack<int> mSt;
for(int i=0;i<prices.size();++i){
while(!mSt.empty() && prices[i]<=prices[mSt.top()]){
result[mSt.top()]=prices[mSt.top()] - prices[i];
mSt.pop();
}
mSt.push(i);
}
for(int i=0;i<prices.size();++i){
if(result[i]==-1){
result[i]=prices[i];
}
}
return result;
}
};