LeetCode算法(3)_无重复字符的最长子串
import java.util.HashSet; /* * @lc app=leetcode.cn id=3 lang=java * * [3] 无重复字符的最长子串 */ // @lc code=start class Solution { public int lengthOfLongestSubstring(String s) { int n = s.length(); int maxlen = 0; HashSet<Character> set = new HashSet<Character>(); int rk = -1; for(int i = 0;i<n;i++){ if(i!=0){ set.remove(s.charAt(i-1)); } while(rk+1<n && !set.contains(s.charAt(rk+1))){ set.add(s.charAt(rk+1)); ++rk; } maxlen = Math.max(maxlen, rk-i+1); } return maxlen; } } // @lc code=end
LeetCode算法(3)_无重复字符的最长子串
最新推荐文章于 2025-12-31 21:25:26 发布
本文详细解析了LeetCode上经典算法题“无重复字符的最长子串”的解决方案,采用滑动窗口法结合HashSet数据结构实现,通过代码示例深入理解算法逻辑。
910

被折叠的 条评论
为什么被折叠?



