无重复字符的最长子串
class Solution {
public int lengthOfLongestSubstring(String s) {
Set occ = new HashSet();
int n = s.length();
int rk = -1, ans = 0;
for (int i = 0;i < n; ++i){
if (i != 0){
occ.remove(s.charAt(i - 1 ));
}
while(rk + 1 < n && !occ.contains(s.charAt(rk + 1))){
occ.add(s.charAt(rk + 1));
++rk;
}
ans = Math.max(ans, rk - i + 1);
}
return ans;
}
}
该博客介绍了如何使用滑动窗口方法求解字符串中无重复字符的最长子串问题。代码实现中,使用HashSet存储子串中的字符,并通过移动窗口边界来更新最长子串的长度。

179

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



