Не проходит по 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 br = new BufferedReader(new InputStreamReader(System.in));
String myFile = br.readLine();
//String myFile = "C:\\myFileOnDiscC.txt";
FileInputStream fis = new FileInputStream(myFile);
Map<Integer, Integer> myMap = new TreeMap<>();
List<Integer> myList = new ArrayList<>();
//делаем мапу, где если есть повторение байта(ов), то инкрементируем значение на +1
while (fis.available() > 0) {
int temp = fis.read();
if (myMap.containsKey(temp)) {
myMap.put(temp, (myMap.get(temp).intValue() + 1));
} else myMap.put(temp, 0);
}
//переносим в лист для нахождения минимального повторения
for (Map.Entry<Integer, Integer> map : myMap.entrySet()) {
// System.out.println(map.getKey() + " " + ((char) map.getKey().byteValue()) + " " + map.getValue());
myList.add(map.getValue());
}
// находим минимальное повторение
Integer a = Integer.MAX_VALUE;
for (int i = 0; i < myList.size(); i++) {
int temp = myList.get(i);
if (a >= temp && temp != 0) {
a = temp;
}
}
//System.out.println(a);
// Смотрим, если есть повторения, то выводим на экран
if (a >= 1 && a != Integer.MAX_VALUE) {
for (Map.Entry<Integer, Integer> map : myMap.entrySet()) {
if (a.equals(map.getValue().intValue())) {
System.out.print(map.getKey() + " ");
}
}
}
br.close();
fis.close();
}
}