网站建设运营的灵魂是,上饶门户网站建设,零食天堂专做零食推荐的网站,推广平台有哪些老生常谈的一道题#xff0c;常见并 文章目录 描述预期结果Java代码 描述
给定一个字符串 s #xff0c;请你找出其中不含有重复字符的最长子串的长度。
预期结果 Java代码 import java.util.HashSet;
import java.util.Set;public class Demo2 {public static void main(S… 老生常谈的一道题常见并 文章目录 描述预期结果Java代码 描述
给定一个字符串 s 请你找出其中不含有重复字符的最长子串的长度。
预期结果 Java代码 import java.util.HashSet;
import java.util.Set;public class Demo2 {public static void main(String[] args) {int abc1231acv Solution.LengthOfLongestSubstring(abc1231acv);System.out.println(abc1231acv);}
}class Solution {public static int LengthOfLongestSubstring(String s) {// 哈希集合记录每个字符是否出现过SetCharacter occ new HashSetCharacter();int n s.length();// 右指针初始值为 -1相当于我们在字符串的左边界的左侧还没有开始移动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;}// 第 i 到 rk 个字符是一个极长的无重复字符子串ans Math.max(ans, rk - i 1);}return ans;}
}