leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0503.cpp (622B)


0 class Solution { 1 public: 2 vector<int> nextGreaterElements(vector<int> &nums) { 3 vector<int> res(nums.size(), -1); 4 stack<int> st; 5 6 for (int i = 0; i < nums.size(); i++) { 7 while (!st.empty() && nums[i] > nums[st.top()]) { 8 res[st.top()] = nums[i]; 9 st.pop(); 10 } 11 st.push(i); 12 } 13 14 for (int i = 0; !st.empty() && i < nums.size(); i++) { 15 while (!st.empty() && nums[i] > nums[st.top()]) { 16 res[st.top()] = nums[i]; 17 st.pop(); 18 } 19 } 20 21 return res; 22 } 23 };