题目描述
题解
class Solution {
public int equalSubstring(String s, String t, int maxCost) {
//将对应每个元素开销放到cost数组中
int[] cost=new int[s.length()];
for(int i=0;i<s.length();i++){
int ele=Math.abs(s.charAt(i)-t.charAt(i));
cost[i]=ele;
}
//滑动窗口法
int sum=0;
int left=0;
int result=0;
for(int i=0;i<cost.length;i++){
sum=sum+cost[i];
if(sum>maxCost){
//超出开销时,窗口收缩
sum=sum-cost[left];
left++;
}
result=Math.max(result,i-left+1);
}
return result;
}
}
通过详情
收获
了解了新算法-滑动窗口法 :滑动窗口算法(Sliding Window Algorithm)_lm278858445的专栏-CSDN博客_滑动窗口算法