给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
示例1:
输入:s = “abcabcbb” 输出:3
示例2:
输入:s = “bbbbb” 输出:1
示例3:
输入:s = “pwwkew” 输出:3
提示:
- 0 <= s.length <= 5 * 104
- s 由英文字母、数字、符号和空格组成
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
滑动窗口+map
function lengthOfLongestSubstring(s: string): number {let maxLen = 0, i = 0;const map = new Map();for (let j = 0; j < s.length; j++) {const curr = s[j];map.set(curr, (map.get(curr) || 0) + 1);while(map.get(curr) > 1) {map.set(s[i], map.get(s[i]) - 1);i++;}maxLen = Math.max(j - i + 1, maxLen);}return maxLen;};
