leetcode 901. Online Stock Span 股票价格跨度

📅 发布时间:2026/7/9 7:27:33 👁️ 浏览次数:
leetcode 901. Online Stock Span 股票价格跨度
Problem: 901. Online Stock Span 股票价格跨度两个数组的一个用来存放数字另一个用来存放每个数字符合条件的区间开始和结束索引对每个next放入的数字若数字数组最后一个数字price则只需要从索引对数组最后拿到起始索引从起始索引开始向前寻找就行不需要每次都遍历一次避免了重复查找带来的消耗Codeclass StockSpanner { public: vectorint tr; vectorpairint, int pr; StockSpanner() { } int next(int price) { if(tr.size() 0) { tr.push_back(price); pr.push_back({0, 0}); return 1; } else { if(tr.back() price) { int start pr.back().first; int i; for(i start - 1; i 0; i--) { if(tr[i] price) { break; } } pr.push_back({i1, tr.size()}); tr.push_back(price); return pr.back().second - pr.back().first 1; } else { pr.push_back({tr.size(), tr.size()}); tr.push_back(price); return 1; } } return 1; } }; /** * Your StockSpanner object will be instantiated and called as such: * StockSpanner* obj new StockSpanner(); * int param_1 obj-next(price); */