标签:最大的 tail net span blog return ret while element
看了柳婼大佬的博客明白了咋做了,用map进行映射,用栈去遍历,用栈压入保证找到最大的一定是最近的数值。最后再赋值给输出数组就好。
代码没改动
vector<int> nextGreaterElement(vector<int>& findNums, vector<int>& nums) { vector<int>v; stack <int> s; map<int,int> m; for(int i=nums.size()-1;i>=0;i--) { while(!s.empty()&&s.top()<=nums[i]) s.pop(); m[nums[i]]=s.empty()?-1:s.top(); s.push(nums[i]); } for(int i=0;i<findNums.size();i++) { v.push_back(m[findNums[i]]); } return v; }
标签:最大的 tail net span blog return ret while element
原文地址:https://www.cnblogs.com/biubiuWham/p/10281661.html