[Java/Python 3] Sliding window space O(1) w/ brief explanation and analysis.
Maintain a window and keep accumulating the cost on hi end; if the cost is higher than maxCost, then shrink widow by removing element from lo end; \n2. Update t
1. Maintain a window and keep accumulating the cost on `hi` end; if the cost is higher than `maxCost`, then shrink widow by removing element from `lo` end; \n2. Update the max window `width` during each iteration.\n\n```\n    public int equalSubstring(String s, String t, int maxCost) {\n        int width = 0;\n        for (int hi = 0, lo = -1; hi < s.length(); ++hi) {\n            maxCost -= Math.abs(s.charAt(hi) - t.charAt(hi));\n            if (maxCost < 0) {\n                ++lo;\n                maxCost += Math.abs(s.charAt(lo) - t.charAt(lo));\n            }\n            width = Math.max(width, hi - lo);\n        }\n        return width;\n    }\n```\n```\n    def equalSubstring(self, s: str, t: str, maxCost: int) -> int:\n        width, lo = 0, -1\n        for hi in range(len(s)):\n            maxCost -= abs(ord(s[hi]) - ord(t[hi]))\n            if maxCost < 0:\n                lo += 1\n                maxCost += abs(ord(s[lo]) - ord(t[lo]))\n            width = max(width, hi - lo)\n        return width\n```\n**Analysis:**\n\nTime: O(n), space: O(1), where n = s.length().
[]