最多包含两个不同字符的最长子串
中等华为滑动窗口
题目描述
给定一个字符串 s,找到最多包含两个不同字符的最长子串的长度。这是至多包含 K 个不同字符的特例(K=2)。使用滑动窗口,维护一个哈希表记录窗口中每种字符的频次,当不同字符数超过 2 时收缩左边界。例如输入 s = "eceba",最长子串为 "ece",长度为 3。
示例
输入:
s = "eceba"输出:
3solution.ts
输出结果
点击「运行代码」按钮查看结果...
给定一个字符串 s,找到最多包含两个不同字符的最长子串的长度。这是至多包含 K 个不同字符的特例(K=2)。使用滑动窗口,维护一个哈希表记录窗口中每种字符的频次,当不同字符数超过 2 时收缩左边界。例如输入 s = "eceba",最长子串为 "ece",长度为 3。
s = "eceba"3