не могу понять как работает правильное решение я тут значит через мапы все прогоняю нахожу сколько одинаковых элементов, сортирую и по максимальному значению еще ищу может есть с таким же количеством, А У НИХ ЧЕРЕЗ МАССИВ ПРОСТО ВСЕ РЕШАЕТСЯ И НЕ ПОЙМУ КАК ЭТО РАБОТАЕТ!? все дело в методе чтоли или где происходит счет одинаковых байтов? все циклы вроде ищут максимальный байт и все ниже мой кусок и кусок правильного Map<Integer, Integer> result = new HashMap(); for (Integer x : integers) { if (result.containsKey(x)) { result.put(x, result.get(x) + 1); } else { result.put(x, 1); } } int maxValueMap = Collections.max(result.values()); for (Map.Entry<Integer, Integer> map : result.entrySet()) { if (map.getValue() == maxValueMap) { System.out.print(map.getKey() + " "); ___________________________________________________________-- int[] byteCountArray = new int[256]; try (FileInputStream fileInputStream = new FileInputStream(fileName)) { while (fileInputStream.available() > 0) { byteCountArray[fileInputStream.read()] += 1; } } int maxCount = 0; for (int byteCount : byteCountArray) { if (byteCount > maxCount) maxCount = byteCount; } ArrayList<Integer> resultList = new ArrayList<>(); for (int i = 0; i < byteCountArray.length; i++) { if (byteCountArray[i] == maxCount) resultList.add(i); } for (Integer resultItem : resultList) System.out.print(resultItem + " "); } }