leetcode-503-Next Greater Element II

题目

题目:[leetcode-503]

思路

之前的栈的办法用不了,主要是因为它循环了。二层循环,注意变量自增的时候采用循环自增。

代码

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;
    }
};

你可能感兴趣的:(LeetCode刷题)