Все варианты , которые предлагали в задаче + все что нашел тут в проблемах. Все проходит. Не как пройти дальше ???
package com.javarush.task.task39.task3901;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Уникальные подстроки
*/
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.isEmpty()) return 0;
List<Character> m = new ArrayList<>();
char [] mas = s.toCharArray();
for (int i = 0; i < mas.length; i++) {
m.add(mas[i]);
}
String str = "";
int countBukv = 0;
for (int i = 0; i < m.size(); i++) {
if (str.indexOf(m.get(i)) >= 0) {
int ind = m.indexOf(m.get(i));
for (int j = 0; j < ind + 1; j++) {
m.remove(j);
}
str = "";
i = -1;
continue;
}
str += m.get(i);
countBukv = Math.max(countBukv, str.length());
}
return countBukv;
}
}