leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0496.cpp (600B)
0 class Solution { 1 public: 2 vector<int> nextGreaterElement(vector<int> &nums1, vector<int> &nums2) { 3 vector<int> res(nums1.size(), -1); 4 unordered_map<int, int> um; 5 stack<int> st; 6 7 for (int i = 0; i < nums2.size(); i++) { 8 while (!st.empty() && nums2[i] > st.top()) { 9 um.insert(make_pair(st.top(), nums2[i])); 10 st.pop(); 11 } 12 st.push(nums2[i]); 13 } 14 15 for (int i = 0; i < nums1.size(); i++) 16 if (um.find(nums1[i]) != um.end()) res[i] = um[nums1[i]]; 17 18 return res; 19 } 20 };