class Solution { public: /* 滑动窗口: */ int maxValue(string s, int k) { int temp = stoi(s.substr(0, k)); //初始化前k个 int maxval = temp; const int M = pow(10, k-1)+0.5; //k=2,两位,除以10取余,则需要1个10 //pow得到浮点型999.999,+0.5转成1000 for(int right = k; right < s.size(); right++){ temp = temp%M; //去掉首位 temp = temp*10 + (s[right]-'0'); //加上末尾 maxval = max(maxval, temp); } return maxval;; } };