/*
3. 无重复字符的最长子串 medium
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。*/
// 滑动窗口
import java.util.HashMap;
class Solution3 {
public int lengthOfLongestSubstring(String s) {
// k : 值 v:索引
HashMap<Character, Integer> m = new HashMap<>();
int left = 0;
int maxlen = 0;
for (int i = 0; i < s.length(); i++) {
if (m.containsKey(s.charAt(i))) {
left =Math.max(m.get(s.charAt(i))+1,left);
}
m.put(s.charAt(i), i);
maxlen = Math.max(maxlen, i - left + 1);
}
return maxlen;
}
}
day02:leetcode03
最新推荐文章于 2024-05-20 18:49:46 发布