Ход своих мыслей постарался описать в комментариях. Вроде как должно работать, но что-то не так🤔
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); //считываем имя файла
String s = reader.readLine(); //сохраняем его в переменную s
ArrayList <Integer> a = new ArrayList<>(); //список для хранения байтов
FileInputStream inputStream = new FileInputStream(s); //создаём поток ввода
while(inputStream.available() > 0){ //считываем пока есть байты
int data = inputStream.read(); //присваиваем их переменной data
a.add(data); //добавляем байты в список
}
inputStream.close(); //закрываем поток ввода
ArrayList <Integer> n = new ArrayList<>(); //список для хранения повторяющихся байтов
int max = 0; //переменная для хранения максимального количества повторов
int count = 0; //переменная для счетчика повторов
for (Integer x: a) { //перечисляем список с байтами
for(Integer y: a){ //то же самое для поиска повторов
if(x == y){ //ищем повторы
count++; //считаем повторы
}
}
if(count == max){ //если количество повторов равно максимальному
n.add(x); //просто добавляем в список для повторяющихся байтов
}
if(count > max){ // если больше максимального
max = count; //меняем значение max
n.clear(); //очищаем список от уже не верных байтов
n.add(x); //добавляем нужные
}
}
for(Integer x: n){ //берём список с повторами
System.out.print(x + " "); //выводим через пробел
}
}
}
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.HashMap;
import java.util.Map;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
ArrayList <Integer> a = new ArrayList<>();
FileInputStream inputStream = new FileInputStream(s);
while(inputStream.available() > 0){
int data = inputStream.read();
a.add(data);
}
inputStream.close();
ArrayList <Integer> n = new ArrayList<>();
int max = 0;
int count = 0;
for (Integer x: a) {
for(Integer y: a){
if(x == y){
count++;
}
}
if(count == max){
n.add(x);
}
if(count > max){
max = count;
n.clear();
n.add(x);
}
}
for(Integer x: n){
System.out.print(x + " ");
}
}
}