Description

Submission
class Solution {
public:
int maxProfit(vector<int>& prices) {
if(prices.size() < 2) return 0;
vector<int> stk;
stk.push_back(prices[0]);
int maxVal = 0;
for(int i = 1; i < prices.size(); ++i) {
while(!stk.empty() && prices[i] < stk.back()) {
maxVal = max(maxVal, stk.back() - stk[0]);
stk.pop_back();
}
stk.push_back(prices[i]);
}
if(!stk.empty()) {
maxVal = max(stk.back() - stk[0], maxVal);
}
return maxVal;
}
};
