class Solution { public int equalSubstring(String s, String t, int maxCost) { int left = 0, right =0; int sum = 0; int res = 0; // ウィンドウを構築します while (right < s.length()) { sum += Math.abs(s.charAt(right) - t.charAt(right)); right++; // ウィンドウの構築が完了し、現在のウィンドウに応じてウィンドウ サイズを調整する必要があります while (sum > maxCost ) { sum -= Math.abs(s.charAt(left) - t.charAt(left)); left++; } // この時のウィンドウのサイズを記録します res = Math.max(res, right -left) ; } 戻り値; } }