Учел все пункты задания.
Некоторыми костылями обезопасился и получаю нужный вариант вывода результата, только валидатор не принимает.
В чем может быть загвоздка?
Неужели нужно использовать именно HashMap и тогда всё будет "верно"?
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 path = reader.readLine();
reader.close();
FileInputStream inputStream = new FileInputStream(path);
ArrayList<Integer> bytes = new ArrayList<>();
while (inputStream.available() > 0) {
bytes.add(inputStream.read());
}
inputStream.close();
int max = 0;
ArrayList<Integer> values = new ArrayList<>();
for (int i = 0; i < bytes.size(); i++) {
int count = 0;
for (int j = 0; j < bytes.size(); j++) {
if (bytes.get(i) == bytes.get(j)) {
count += 1;
}
}
if (max < count) {
max = count;
values.add(bytes.get(i));
} else if (max == count) {
values.add(bytes.get(i));
}
}
int i = 0;
while (values.size() > 1) {
if (values.get(i) == values.get(i + 1)){
values.remove(i);
} else {
i++;
}
}
for (int is : values) {
System.out.print(is + " ");
}
}
}