class Solution {
public:
vector<int> nextGreaterElements(vector<int>& nums) {
unordered_map<int,int> great;//序号,更大值
vector<int> res;
stack<int> s; //存入序号
for(int i=0;i<nums.size();i++){
while(!s.empty() && nums[s.top()]<nums[i]){
great[s.top()]= nums[i];
s.pop();
}
s.push(i);
}
for(int i=0;i<nums.size();i++){
while(!s.empty() && nums[s.top()]<nums[i]){
great[s.top()] = nums[i];
s.pop();
}
s.push(i);
}
for(int i=0;i<nums.size();i++){
if(great.find(i)!=great.end())
res.push_back(great[i]);
else
res.push_back(-1);
}
return res;
}
};
503. Next Greater Element II
最新推荐文章于 2020-03-24 12:27:26 发布