На экран все максимальные байты выводятся, но валидатор против. Опасаюсь, что скоро кончатся попытки для проверки задачи. Прошу помощи =)
package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
/*
Самые частые байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String nameOfFile = reader.readLine();
FileInputStream inputStream = new FileInputStream(nameOfFile);
ArrayList<Integer> allBytes = new ArrayList<>();
ArrayList<Integer> uniqueBytes = new ArrayList<>();
ArrayList<Integer> numberOfRepeat = new ArrayList<>();
while (inputStream.available() > 0) {
allBytes.add(inputStream.read());
}
inputStream.close();
Collections.sort(allBytes);
int tmp = 1;
for (int i = 0; i < allBytes.size() - 1; i++) {
if (allBytes.get(i).equals(allBytes.get(i + 1))) {
tmp++;
}
else {
uniqueBytes.add(allBytes.get(i));
numberOfRepeat.add(tmp);
tmp = 1;
}
}
for (int i = 0; i < numberOfRepeat.size(); i++) {
if (numberOfRepeat.get(i).equals(Collections.max(numberOfRepeat))) {
System.out.print(uniqueBytes.get(i) + " ");
}
}
}
}