LeetCode 1208. Get Equal Substrings Within Budget

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
public:
int equalSubstring(string s, string t, int maxCost) {
const int n = s.size();
int left = 0, right = 0, cost = 0, ans = 0;
while (right < n) {
cost += abs(s[right] - t[right]);
++right;
if (cost <= maxCost) {
ans = max(ans, right - left);
} else {
while (cost > maxCost && left < right) {
cost -= abs(s[left] - t[left]);
++left;
}
}
}
return ans;
}
};