Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {
- vector<int>ans(nums1.size(),-1);
- unordered_map<int,int>m;
- stack<int>s;
- for(int i=0;i<nums2.size();i++){
- while(!s.empty() && s.top()<nums2[i]){
- m[s.top()]=nums2[i];
- s.pop();
- }
- s.push(nums2[i]);
- }
- for(int i=0;i<nums1.size();i++){
- if(m.find(nums1[i])!=m.end()){
- ans[i]=m[nums1[i]];
- }
- }
- while(s.size()>0){
- int temp=s.top();
- s.pop();
- cout<<temp<<' ';
- }
- return ans;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement