给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
思路:
- 滑动窗口
- 使用数组来代替map
代码:
public int lengthOfLongestSubstring(String s) {
int[] index = new int[128];
int len = s.length(), res = 0;
for (int i = 0, j = 0; i < len; i++) {
j = Math.max(index[s.charAt(i)], j);
index[s.charAt(i)] = i + 1;
res = Math.max(res, i - j + 1);
}
return res;
}
更加详细的题解:leetcode官方题解