Встречаемость символов

  • 10
  • Недоступна
Программа запускается с одним параметром - именем файла, который содержит английский текст. Посчитать частоту встречания каждого символа. Отсортировать результат по возрастанию кода ASCII (почитать в инете). Пример: ','=44, 's'=115, 't'=116. Вывести на консоль отсортированный результат: [символ1] ча
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (176)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Oleg Zaytsev23 уровень
пятница, 20:25
чи да
Junior19 уровень
9 мая, 05:31
Перевод каретки и прочие служебные символы НУЖНО учитывать
Riccio23 уровень, Москва
4 мая, 19:21
Если символ не встречается (0), то выводить его не надо.
fedor19 уровень, Москва
24 апреля, 13:44
не совсем понял, на чем посыпался народ. Уже обсуждались реализации на основе
int[] arrByte = new int[127]; //тут сортировать уже ничего не нужно,
//просто прогони циклом весь массив с 0 до 127, массив хранит количество повторов
//вывод при условии arrByte[i] != 0
Oleg Zubkov19 уровень, Москва
21 апреля, 10:33
Вдруг кому поможет: у меня валидатор не принимал задачу, пока не ушёл от Collections.frequency в сторону ручного создания метода для обычного массива. Это конечно может правильно, типа экономия ресурсов, но всё ж оба подхода выдают одинаковый результат.
Вячеслав19 уровень
5 апреля, 09:37
Что за "неизвестная ошибка"?
NewBuy22 уровень, Санкт-Петербург
7 апреля, 16:09
Неизвестно...
Александр22 уровень, Минск
2 апреля, 00:26
и правда, поменял HashMap на TreeMap и все прошло, он оказывается сам сортируется по ASCII, прикольно
Николай Захаров22 уровень, Москва
25 марта, 10:48
После знакомства с Tree - коллекциями я окончательно превратился в ленивого хряка. При виде подобной задачи теперь так в лом писать вручную сортировку вместо того, чтобы просто заранее орудовать с сортированными списками...)
10 марта, 16:56
Люди вы что? Какой set, map и treemap, зачем усложнять себе жизнь?. Тут обычным массивом int[255], задача в 7-8 строк. Сразу читает, а значение байта по индексу массива посылаем туда +1 и всё. Ну и вывести весь этот массив по i через for.
Александр23 уровень, Казань
12 марта, 12:12
int[] buffer = new int[256];
Пётр41 уровень, Москва
14 апреля, 17:50
А через мапу, можно подумать, тут тонны кода)))
VK19 уровень, Киев
27 февраля, 10:19
отличную штуку нашел :
map.merge((char)data, 1, Integer::sum);
Если такого (char)data ключа нет даем ему значение 1 если есть увеличиваем на 1. Потом кидаем мапу в тримап и все EZ.
Мишаня19 уровень
30 апреля, 11:49
хороший метод я тоже в гугле его нашел и забил лишние вычисления))))