版权声明:如需转载请联系[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]);
}
};