package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
/*
Самые частые байты
1. Программа должна считывать имя файла с консоли.
2. Для чтения из файла используй поток FileInputStream.
3. В консоль через пробел должны выводиться все байты из файла с максимальным количеством повторов.
4. Данные в консоль должны выводится в одну строку.
5. Поток чтения из файла должен быть закрыт.
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String pathToFile = reader.readLine();
FileInputStream file = new FileInputStream(pathToFile);
byte [] bytesFromFile = file.readAllBytes();
HashMap<Byte, Integer> mapBytes = new HashMap<>();
for (int i = 0; i < bytesFromFile.length; i++){
if (!mapBytes.containsKey(bytesFromFile[i])){
mapBytes.put(bytesFromFile[i], 1);
}else {
mapBytes.put(bytesFromFile[i], mapBytes.get(bytesFromFile[i]) +1);
}
}
int biggestNumber = 0;
for (Map.Entry<Byte,Integer> map : mapBytes.entrySet()) {
if (map.getValue() > biggestNumber){
biggestNumber = map.getValue();
}
}
ArrayList<Byte> biggestBytes = new ArrayList<>();
for (Map.Entry<Byte,Integer> map : mapBytes.entrySet()) {
if (map.getValue() == biggestNumber){
biggestBytes.add(map.getKey());
}
}
biggestBytes.forEach(a -> System.out.print(a + " "));
file.close();
}
}
Vladimir Tanski
22 уровень
То ли лыжи не едут то ли .....
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia VolkovaJava Developer в DXCMaster
24 ноября 2020, 16:34полезный
readAllBytes существует начиная с Java 9 (в документации так и написано).
На JavaRush ипользуется Java 8.
+2
hidden #2322530
24 ноября 2020, 16:36полезный
дополню комментарий, но обычном Syntax и другие квестах.
PS. ещё один в копилку, у которого валидатор во всём виноват))
0
Vladimir Tanski
29 ноября 2020, 18:11
Исчерпывающий ответ "Админа целого королевства" студенту с уклоном на то , что студент бестолковый который ищет виноватых ... Бери пример с Ксении , которая ответила по делу и пошла дальше 😉
0
hidden #2322530
29 ноября 2020, 18:14
а это не для тебя комментарий.
0