Last updated 2 years ago
vector<int> Solution::prevSmaller(vector<int> &A) { stack<int> s; vector<int> res; for(const int &x: A) { while(!s.empty() && s.top() >= x) s.pop(); res.push_back(s.empty() ? -1 : s.top()); s.push(x); } return res; }
Time Complexity: O(n)O(n)O(n)
Space Complexity: O(1)O(1)O(1)