Не понимаю, почему не проходит. Попробовал много проверок из комментов - всё правильно, но Вали не согласен :( Кто знает на какой строке мой код выдаст неверный результат?
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 == null) return 0;
char[] array = s.toCharArray();
Set<Character> set = new HashSet<>();
int max = 0;
for (int i = 0; i < array.length; i++) {
if(set.contains(array[i])) {
if(set.size()>max) {
max = set.size();
set.clear();
}
} else {
set.add(array[i]);
}
}
if(set.size()>max) max=set.size();
return max;
}
}