for (int i=0; i<count.size() ;i++) {
for (int j =0; j < count.size() ;j++) {
if (i!=j){
if (count.get(i).equals(count.get(j))) {
sum++;
}}
}
bytes.put(count.get(i), sum);
sum = 0;
}
int m = 0;
for (Map.Entry<Integer, Integer> entry : bytes.entrySet()) {
if (m < entry.getValue()) {
m = entry.getValue();
}
if (entry.getValue().equals(m)){
System.out.print(entry.getKey()+" ");}
}
что касается цикла с аррайлист, то вроде бы понятно. мы сравниваем байты и закидываем в мап байт с самым большим количеством повторения
(тут недочет тоже есть, например ar.get(2) может быть равным ar.get(1) который мы уже засунули в мап. и поставим 2ой элемент тоже со своим сам(на одну меньше чем у 1ого элемента) в мапу)
так вот как работает код цикла мапы? что за сравнения ?Bakuvi
24 уровень
Объясните мне пожалуйста как работает эта часть кода?
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
JustinianJudge в Mega City OneMaster
26 апреля 2020, 21:04
Я так понимаю код не твой, ладно бы ты еще написал код, и для тебя был бы профит работать с твоим кодом, что-то посоветовать улучшить.
А так ты сам тратишь время на поиск плохого кода, еще и нас заставляешь его анализировать?
Ни тебе толку не будет, твои навыки никак не растут. Разве что чтения кода и то, еще надо думать в какой степени. Ни нам толку уж тем более. Одно дело помогать тому, кто что-то делает, например тебе, чтобы у тебя росли навыки, чем-то помочь... Другое дело анализировать плохой код которого бесконечные океаны, это Сизифов труд, бесцельный и бессмысленный. Ну проанализируем чужой плохой код, но тебе ведь этого ноль прогресса будет.
Анализировать нужно либо хороший код - чтобы учиться и перенимать, либо тот код, который написал ты сам., каким бы он не был, но это твой код, и это твой опыт.
Но это так, мысли вслух.
Этот кусок кода похож на поиск максимального повтора. Если предположить что есть мапа, в которой ключи это байты, а значения это повторения, то переменная с суперинформативным (на самом деле нет) именем "м" сравнивается с getValue() то есть количеством повтором, чтобы найти в мапе максимальное повторение.
Не совсем понимаю, зачем там
пока мы не найдем максимальное значение, мы не можем приступать к выводу на экран, но поскольку нет условий задания/всего кода и контекста в целом - где, почему и зачем ты это нашел, то этим вопросом можно пренебречь
+1
Bakuvi
27 апреля 2020, 13:41
я понимаю, но как мне быть если я сам вообще понятия не имею как решить задачу? либо просить у кого то помощи, а с нуля мне хороший код никто не напишет, либо вот так искать и пытаться разобраться ..если кто напишет хороший код, я буду рад
0
JustinianJudge в Mega City OneMaster
27 апреля 2020, 15:33полезный
это важный вопрос, как тебе быть в таких ситуациях.
Должна быть методология что делать в подобных ситуациях.
Начинать нужно с оформления своего вопроса.
Если не понял задания, то спрашивай по условиям.
Если не знаешь как решать, то спрашивай как решать , озвучивай на каком ты этапе.
Дели задачу на части, вот тебе задание, на какие маленькие этапы/части можно разбить эту задачу?
Ничего не ясно это не вариант.
Всегда что-то в чем-то ясно, нужно нащупать плацдарм, и от него идти шаг за шагом.
+1
Bakuvi
27 апреля 2020, 15:43
ну вот была задача, весь код написал почти, сам до использования мап не догадался. нашел в других решениях использовал мапу. снова заминка: как использовать сравнение в с поиском минимального валуе в мап. ? не знаю. также нашел вставил. оказывается это ужасный код, но лучше вариванта сам придумать не могу, разве что на форумах попросить написать мне, чтобы я изучил
0
JustinianJudge в Mega City OneMaster
27 апреля 2020, 15:48
Есть же раздел Помощь, собственно где мы сейчас и находимся.
Застрял на каком-то моменте - задавай свой вопрос. Тогда это тебе в навыки пойдет. Поскольку ты работаешь с собой, своим кодом, своим пониманием.
Если совсем застрял, можешь в Обсуждение задачи зайти, там рассказывают кто и каким вариантом решал, в основном без кода.
0