题目链接:/
滑动窗口自左向右遍历,每次sum加上右指针对应的开销,一旦sum > maxCost,就将左指针右移直到满足条件。每次都更新最大值。
代码如下:
class Solution {
public:int equalSubstring(string s, string t, int maxCost) {int l = 0, r = 0, sum = 0, res = 0;while(r < s.size()) {sum += abs(s[r] - t[r]);r++;while(sum > maxCost) {sum -= abs(s[l] - t[l]);l++;}res = max(res, r - l);}return res;}
};
本文发布于:2024-02-02 09:56:38,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170683899743034.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |