тестил с .txt файлами, вроде даёт правильный результат, но валидатор не принимает 3й пункт
package com.javarush.task.task18.task1804;
import java.io.*;
import java.util.*;
/*
Самые редкие байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fileInputStream = new FileInputStream(reader.readLine());
ArrayList<Byte> list = new ArrayList<Byte>();
HashMap<Byte, Integer> map = new HashMap<Byte, Integer>();
int temp = 0;
int counts = 0;
while (fileInputStream.available() > 0) {
list.add((byte) (temp = fileInputStream.read()));
}
reader.close();
fileInputStream.close();
for (int i = 0; i < list.size() - 1; i++) {
for (int j = i + 1; j < list.size(); j++) {
if (i == j) {
counts++;
}
}
if (!map.containsKey(list.get(i))) {
map.put(list.get(i), counts);
}
counts = 0;
}
ArrayList<Integer> list2 = new ArrayList<Integer>(map.values());
int fis = Collections.min(list2);
list2.get(0);
for (Map.Entry<Byte, Integer> pair : map.entrySet()) {
Integer i = pair.getValue();
if (i==fis) {
System.out.print(pair.getKey() + " ");
}
}
}
}