package com.test; import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class Test1 { public static void main(String[] args) { Scanner in=new Scanner(System.in); String s = in.next(); System.out.println(getMaxlength(s)); } public static int getMaxlength(String s) { if(s.length() <= 1) { return 1; } int sumCount = 0; int i = 0; int j = 0; int len = s.length(); Setset = new HashSet<>(); while(i < len && j < len) { if(!set.contains(s.charAt(j))) { set.add(s.charAt(j++)); sumCount = Math.max(sumCount, j - i); //比较是现在子串的长度,和曾经最长字串的长度 } else { set.remove(s.charAt(i++)); //如果出现相同元素,则减去最前面的字符 } } return sumCount; } }
做个笔记
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)