题目
思路
之前的栈的办法用不了,主要是因为它循环了。二层循环,注意变量自增的时候采用循环自增。
代码
class Solution {
public:
vector<int> nextGreaterElements(vector<int>& nums) {
int sz = nums.size();
std::vector<int> ret(sz, int());
if(!sz) return ret;
for( int i = 0; i < sz; ++i ){
int j = 0;
for( j = (i + 1)%sz; j != i; j = (j+1)%sz ){
if( nums[j] > nums[i] ){
ret[i] = nums[j];
break;
}
}
if(j==i) ret[i] = -1;
}
return ret;
}
};