900. RLE 迭代器

版权声明:如需转载请联系[email protected] https://blog.csdn.net/qq_20633793/article/details/82556876

思路:递归求解

class RLEIterator {
public:
    vector<int> dp;
    int len,lo;
    RLEIterator(vector<int> A) {
        len=A.size();lo=0;
        for(int i=0;i<len;i++)dp.push_back(A[i]);
    }

    int next(int n) {
        if(lo>=len)return -1;
        if(dp[lo]>=n){dp[lo]-=n;return dp[lo+1];}
        lo+=2;
        return next(n-dp[lo-2]);
    }
};

猜你喜欢

转载自blog.csdn.net/qq_20633793/article/details/82556876