Такое дело, решаю задачу по выводу на экран максимальный байтов. Для подсчета использую такой код: int n = 0; ArrayList<Integer> result = new ArrayList<Integer>();// Объявляю массив, в который помещаю количество повторов. Понимаю сейчас, что кривовато, // но на тот момент пока так. Collections.sort(array); //Сортирую массив заполненный байтами из файла. for (int i = 0; i < array.size(); i++){ for (int j = i + 1; j < array.size(); j++){ if (array.get(i) == array.get(j)){ n = n + 1; //подсчитываю количество повторов пока элементы совпадают } else{ //если следующий не совпадает с предыдущим, то добавляем количество повторов в массив result result.add(n); i = j - 1; // таким образом я прерываю цикл и переношу маркер первого цикла на конец повторяющейся цепочки j = array.size(); } } n = 0; } Все, затем ищу максимум в массиве, затем ищу количество повторов максимума в массиве исходном. Может не очень красиво, но ВРОДЕ работает. Валидатор проглатывает. Далее следующая задача на минимумы. По идее надо использовать такой же блок. Копирую его, переделываю вывод минимумов и НЕ РАБОТАЕТ! Начинаю разбираться и нахожу ошибку: не корректно подсчитываются повторы в конце массива. Естественно валидатор не пропускает. Но ведь в первой задаче пропустил. Как такое возможно? Много букв в простом вопросе про валидатор, но хотел объяснить, почему возник этот вопрос.