вроде результаты верне
package com.javarush.task.task39.task3901;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
/*
Уникальные подстроки
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please enter your string: ");
String s = bufferedReader.readLine();
System.out.println("The longest unique substring length is: \n" + lengthOfLongestUniqueSubstring(s));
}
public static int lengthOfLongestUniqueSubstring(String s) {
if (s.length() == 0 || s.equals(null)) {
return 0;
} else {
Set<Character> set = new HashSet<>();
int count = 0;
int coutntime = 0;
for (int i = 0; i < s.length(); i++) {
if (set.add(s.charAt(i))) {
count++;
if (i == s.length() - 1 && coutntime <= count) {
coutntime++;
}
} else {
set.clear();
if (count > coutntime) {
coutntime = count;
count = 0;
}
}
}
return coutntime;
}
}
}
// Реализуй метод lengthOfLongestUniqueSubstring таким образом, чтобы он возвращал длину самой длинной подстроки без
// повторяющихся символов, найденной в строке полученной в качестве параметра.
// Например, для строки "a123bcbcqwe" - 6, а для строки "ttttwt" - 2.
// Если анализируемая строка пуста или равна null - верни 0.
//
//
// Требования:
// 1. Метод lengthOfLongestUniqueSubstring должен возвращать длину подстроки с максимальным количеством уникальных символов.
// 2. Метод lengthOfLongestUniqueSubstring должен возвращать 0 для пустой строки, или строки равной null.
// 3. Метод lengthOfLongestUniqueSubstring должен быть публичным.
// 4. Метод lengthOfLongestUniqueSubstring должен быть статическим.