3.无重复字符的最长子串

发布时间:2026/6/27 11:47:38

3.无重复字符的最长子串 给定一个字符串s请你找出其中不含有重复字符的最长 子串的长度。class Solution { public int lengthOfLongestSubstring(String s) { HashMapCharacter, Integer map new HashMap(); int max 0; // 记录最长子串长度 int left 0; // 滑动窗口左边界 for (int i 0; i s.length(); i) { char c s.charAt(i); // 如果字符 c 之前出现过 if (map.containsKey(c)) { // 更新左边界取 left 和 (上次出现位置1) 的较大值 // 保证 left 不会向左移动 left Math.max(left, map.get(c) 1); } // 更新字符 c 的最新位置 map.put(c, i); // 计算当前窗口长度并更新最大值 max Math.max(max, i - left 1); } return max; } }

相关新闻