题目
思路:滑动窗口
- 滑动窗口,几乎可以看成模板题。
 right指针负责把新数据往里面读,如果超过上限,就用left指针,持续放弃旧有数据。代码:
class Solution {public:int equalSubstring(string s, string t, int maxCost) {int max_len = 0, s_len = s.size(), sum_cost = 0;int left = 0, right = 0;for (right = 0; right < s_len; right++) {sum_cost += abs(s[right] - t[right]);while (sum_cost > maxCost) {sum_cost -= abs(s[left] - t[left]);left += 1;}max_len = max(max_len, right - left + 1);}return max_len;}};
