class Solution {
public:
vector<int> finalPrices(vector<int>& prices) {
//单调栈的做法,很妙
stack<int>stk;
for(int i=0;i<prices.size();i++)
{
while(!stk.empty()&&prices[i]<=prices[stk.top()])
{
int temp=stk.top();
prices[temp]-=prices[i];
stk.pop();
}
stk.push(i);
}
return prices;
}
};