Проверяю у себя все срабатывает, Валидатору не нравится, что слишком долго. Может кто подскажет в чем суть проблемы?
package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
/*
Самые частые байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(System.in));
FileInputStream file=null;
Map<Integer, Integer> map=new HashMap<>();
Integer bytenext;
int maxValue=0;
try{
file=new FileInputStream(bufferedReader.readLine());
do{
bytenext=file.read();//key or name/type of byte
if (map.containsKey(bytenext)){ //проверяет есть ли знач с таким ключом
map.put(bytenext,map.get(bytenext)+1);//усли есть, то перезаписывает под этот ключ значение +1
if (map.get(bytenext)>maxValue) {
maxValue = map.get(bytenext);//если новое значение больше макс значение, то присваивается макс значению
}
}else{
map.put(bytenext,1);//если с таким ключом нет записи, то внос в карту со знач 1
}
}while(bytenext!=-1);
// Set<Integer> list=new HashSet<>(); // набор значений из карты
// list.addAll(map.values());
//
for (Map.Entry<Integer, Integer> entry :
map.entrySet()) {
if (entry.getValue()==maxValue) System.out.print(entry.getKey()+" ");
}
}catch (IOException o){
o.printStackTrace();
}finally {
try {
file.close();
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}