leetcodeSolution 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;
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 }
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 }
21 return res;
22 }
23 };