Ниже приведен код моего решения. Принципиально я его не менял, по крайней мере 3 последних попытки я просто комментил/раскоментил свое решение и предлагаемое авторами. Результаты работы этих решений одинаковы, однако валидатор не принимал моего решения по третьему пункту (В консоль через пробел должны выводиться все байты из файла с минимальным количеством повторов.) И вот на последней попытке Валидатор засчитал мое решение как правильное! Я ничего не менял. Как это понять?
public class Solution {
    public static void main(String[] args) throws Exception {

        int min = Integer.MAX_VALUE;
        int[] byteCounts = new int[256];

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String fileName = reader.readLine();

        try (FileInputStream inputStream = new FileInputStream(fileName)) {
            while (inputStream.available() > 0) byteCounts[inputStream.read()] += 1;
        } catch (IOException e) {
            System.out.println("Файл не прочесть. " + e);
        }

        for (int byteCount : byteCounts) if (byteCount > 0 && byteCount < min) min = byteCount;

        for (int i = 0; i < byteCounts.length; i++) {
            if (byteCounts[i] == min) System.out.print(i + " ");
        }
//        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//        String fileName = reader.readLine();
//
//        int[] byteCountArray = new int[256];
//        try (FileInputStream fileInputStream = new FileInputStream(fileName)) {
//            while (fileInputStream.available() > 0) {
//                byteCountArray[fileInputStream.read()] += 1;
//            }
//        }
//        int minCount = Integer.MAX_VALUE;
//        for (int byteCount : byteCountArray) {
//            if (byteCount > 0 && byteCount < minCount) minCount = byteCount;
//        }
//        ArrayList<Integer> resultList = new ArrayList<>();
//        for (int i = 0; i < byteCountArray.length; i++) {
//            if (byteCountArray[i] == minCount) resultList.add(i);
//        }
//        for (Integer resultItem : resultList) System.out.print(resultItem + " ");
    }
}