题目链接:https://leetcode-cn.com/problems/next-greater-element-ii/
题目如下:
class Solution {
public:
vector<int> nextGreaterElements(vector<int>& nums) {
//思路:将整个数组复制一遍并放在后面处理,破环成列
int n=nums.size();//size中为最开始的nums中的数组元素
nums.insert(nums.end(),nums.begin(),nums.end());
stack<int> stk;
vector<int> ans(n);
for(int i=n*2-1;i>=0;--i){
int x=nums[i];
while(stk.size()&&x>=stk.top()) stk.pop();
if(i<n){//从这里开始就需要正式记录答案了
if(stk.empty()) ans[i]=-1;
else ans[i]=stk.top();
}
stk.push(x);
}
return ans;
}
};