请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 示例1: "abc",所以其 示例 2: "b" 示例 3: "wke""pwke" 提示: s.length = 40000 使用滑动窗口,哈希表来记
请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。
示例 1:
"abc",所以其
示例 2:
"b"
示例 3:
"wke"
"pwke"
提示:
s.length <= 40000
使用滑动窗口,哈希表来记录:
class Solution {
public int lengthOfLongestSubstring(String s) {
HashMap<Character, Integer> map = new HashMap<>();
int max = 0;
for (int i = 0,start = 0; i < s.length(); i++) {
char c = s.charAt(i);
//如果重复
if (map.containsKey(c)) {
start = Math.max(map.get(c),start);
}
map.put(c,i+1);
max = Math.max(max,i-start+1);
}
return max ;
}
}
【文章原创作者盐城网站设计 http://www.1234xp.com/yancheng.html 提供,感恩】