2023每日刷题(五十二)
Leetcode---901.股票价格跨度
![](https://file.jishuzhan.net/article/1733333598989193218/8c8fade21572a905af88161e8fcbde10.webp)
算法思想
![](https://file.jishuzhan.net/article/1733333598989193218/28ce7e1153eae56e9e74574914007d16.webp)
实现代码
cpp
class StockSpanner {
public:
stack<pair<int, int>> st;
int curday = -1;
StockSpanner() {
st.emplace(-1, INT_MAX);
}
int next(int price) {
while(price >= st.top().second) {
st.pop();
}
int ans = ++curday - st.top().first;
st.emplace(curday, price);
return ans;
}
};
/**
* Your StockSpanner object will be instantiated and called as such:
* StockSpanner* obj = new StockSpanner();
* int param_1 = obj->next(price);
*/
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!