public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
int[] byteCountArray = new int[256];
try (FileInputStream fileInputStream = new FileInputStream(fileName)) {
while (fileInputStream.available() > 0) {
byteCountArray[fileInputStream.read()] += 1;
}
}
int minCount = Integer.MAX_VALUE;
for (int byteCount : byteCountArray) {
if (byteCount > 0 && byteCount < minCount) minCount = byteCount;
}
ArrayList<Integer> resultList = new ArrayList<>();
for (int i = 0; i < byteCountArray.length; i++) {
if (byteCountArray[i] == minCount) resultList.add(i);
}
for (Integer resultItem : resultList) System.out.print(resultItem + " ");
}
}
Юличка
32 уровень
Просто объясните мне что происходит в этом коде...
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
KIRAExpert
24 июля 2021, 17:15полезный
Прочли строку с консоли
Массив на 256 ячеек
Читаем байты с файла
Обычный поиск минимума (значения массива это кол-во байт)
Добавляют в список все байты у которых кол-во совпадает с минимумом который нашли на прошлом этапе
+4