Приветствую. Не проходит первое требование, хотя тесты на строках из условия и других вопросов проходит. Где ошибся?
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.*;
import java.util.stream.*;
/*
Уникальные подстроки
*/
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 || s.length() == 0)
return 0;
if (s.length() == 1)
return 1;
char[] arr = s.toCharArray();
List<String> strs = new ArrayList<>();
List<Character> list = new ArrayList<>();
String max = "";
list.add(arr[0]);
for (int i = 0; i < arr.length - 1; i++) {
int j = i + 1;
if (!list.contains(arr[j])) {
list.add(arr[j]);
} else {
strs.add(new String(list.stream().map(String::valueOf).collect(Collectors.joining())));
list.clear();
list.add(arr[j]);
}
}
for (String e: strs) {
if (e.length() > max.length())
max = e;
}
return max.length();
}
}