Ошибка в приведенной ниже программе (самая длинная подстрока без повторяющихся символов) - PullRequest
0 голосов
/ 21 октября 2019

По заданной строке найдите длину самой длинной подстроки без повторяющихся символов.

Пример 1:

Ввод: "abcabcbb"

Ввод: 3

Объяснение: Ответ "abc" длиной 3.

Я пробовал описанную выше проблему со стеком, но не смог пройти все тестовые случаи.

 public int lengthOfLongestSubstring(String s) {
        Stack<Character> stk = new Stack<>();
        int result = 0;
        for(int i=0;i<s.length();i++){
            if(stk.isEmpty() || (!stk.contains(s.charAt(i)))){
                stk.push(s.charAt(i));
            }
            else{
                int size = stk.size();
                if(size > result){
                    result = size;
                }
                stk.clear();
                stk.push(s.charAt(i));
            }
        }
               return result;
    }

Я получаю ошибку для приведенного ниже теста.

Ввод: ""

Выход: 0

Ожидаемый: 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...