题解 | #下一个更大的数(二)#
下一个更大的数(二)
https://www.nowcoder.com/practice/3923970e95b140fdb65e6c00bcda403d
#include <cstddef>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型vector
*/
vector<int> nextBigger(vector<int>& nums) {
int nums_size = nums.size() ;
vector<int> result(nums_size, -1) ;
stack<int> st ;
for(int i = 0; i < nums_size*2; i++)
{
while(!st.empty() && nums[i%nums_size] > nums[st.top()])
{
result[st.top()] = nums[i%nums_size];
st.pop() ;
}
st.push(i%nums_size) ;
}
return result ;
}
};

