Longest Substring Without Repeating Characters
class Solution {
public int lengthOfLongestSubstring(String s) {
int result=0;
int front=0;
int after=0;
char[] chars = s.toCharArray();
Map<Character,Integer> map = new HashMap<>();
while(after<chars.length&&front<chars.length){
if(map.containsKey(chars[after])){ // 重复情况
if(front<map.get(chars[after])+1){
front = map.get(chars[after])+1;// 前指针挪到第一个重复的字符的后一位置
}
}
map.put(chars[after],after);
after++;
if(after-front>result){ // 保存result的最大值
result = after - front;
}
}
return result;
}
}
看到了提示想到了hashmap

本文介绍了一种求解字符串中最长无重复字符子串长度的算法实现。通过使用哈希映射(HashMap),该算法能够高效地追踪并更新当前最长无重复子串的长度。代码示例清晰展示了如何维护滑动窗口,并利用哈希映射来避免字符重复。
1318

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



