Advertisement
fireLUFFY

NGE1

Jun 3rd, 2022
918
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1. vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {
  2.         vector<int>ans(nums1.size(),-1);
  3.         unordered_map<int,int>m;
  4.         stack<int>s;
  5.        
  6.         for(int i=0;i<nums2.size();i++){
  7.             while(!s.empty() && s.top()<nums2[i]){
  8.                 m[s.top()]=nums2[i];
  9.                 s.pop();
  10.             }
  11.             s.push(nums2[i]);
  12.         }
  13.        
  14.         for(int i=0;i<nums1.size();i++){
  15.             if(m.find(nums1[i])!=m.end()){
  16.                 ans[i]=m[nums1[i]];
  17.             }
  18.         }
  19.        
  20.         while(s.size()>0){
  21.             int temp=s.top();
  22.             s.pop();
  23.             cout<<temp<<' ';
  24.         }
  25.        
  26.         return ans;
  27.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement