Очень помогло для решения задачи на JavaRush! Благодарю!
@ololoshololoev.58522 жыл бұрын
Да я тоже оттуда) самому задача не далась,только тут понял что двигался в правильном направлении и был очень близко.
@svbxr2 жыл бұрын
Жыза)
@svbxr2 жыл бұрын
До какого уровня дошли и нашли ли работу?
@magellan1272 жыл бұрын
@@svbxr Здравствуйте, если меня спрашиваете, то наверное до 7 го но в тестировочном режиме не за деньги, на тот момент когда начинал была такая возможность. Работу не искал так как планы поменялись и поехал работать с женой в Великобританию. Теперь вернулся, началась война и опять взялся за обучение. Интересен андроид. Вот вам и жыза)
@svbxr2 жыл бұрын
@@magellan127 спасибо за историю, удачи вам!)
@MrVakial4 жыл бұрын
Ваше видео помогло мне пройти техническое интервью!! Спасибо большое!!!
@stellarywisdom3132 Жыл бұрын
Огромная благодарность! Вы так хорошо объясняете!!
@Chestor19882 жыл бұрын
Как раз на собесе недавно была задачка найти наименьшее произведение пары чисел в массиве. Вместо двойного цикла, где каждое с каждым число перемножается - как раз нужно найти два минимальных значения и их перемножить - получится О(n) вместо n в квадрате. Спасибо за уроки - очень помогают вспомнить все нюансы Java
@TheGloriousRussian3 жыл бұрын
Гениально и просто! Спасибо вам большое Сергей, вы так хорошо всё объясняете. Я даже подписался не глядя.
@BigRock379 Жыл бұрын
Такая уютная музыка на канале
@РафаэльМустафин-ч4к3 жыл бұрын
Спасибо! Все четко, понятно и подробно!
@andrei82993 жыл бұрын
Спасибо за видео!
@Andrzej39353 жыл бұрын
Спасибо вам!
@МаксимКоротчий3 жыл бұрын
спасибо!
@avemaria39785 жыл бұрын
Привет. Интересное видео получилось, хотя мне не очень понятно где этот алгоритм может пригодиться. Впрочем, видео как всегда отличное и легко понимаемое) Лично я бы хотел, чтобы ты записал ролик по андроиду на тему продвинутой верстки. За пример хотел бы, чтобы ты взял приложение Medium с его довольно интересным списком.
@arhitutorials5 жыл бұрын
Привет. Я так подозреваю, что этот алгоритм используют в качестве домашнего задания при обучении начинающих программистов, с целью развития алгоритмических навыков. Основное практическое применение - заставить студентов подумать)
@erikjoomla98723 жыл бұрын
@@arhitutorials Тоже не совсем понимаю в чем смысл этого алгоритма. Ведь мы может написать int min2 = array[array.length - 2] после сортировки по убыванию, либо же int min2 = array[1] после сортировки по возрастанию.
@arhitutorials3 жыл бұрын
@@erikjoomla9872 Это да, но к этому нужно еще сортировку выполнить. А тут речь о том, что можно без сортировки обойтись, да еще и за один проход по массиву.
@alexndra11903 жыл бұрын
@@erikjoomla9872 только если у тебя массив из повторяющихся чисел, например 1, 4,1,7,3,1 то так ты тройку не найдешь
@АлександрБадаландабад3 жыл бұрын
@@alexndra1190 , найдешь, проверил !
@kensaitakeso2 жыл бұрын
прикольное решение а меня немного понесло и вообще другой подход выбрал. я из Гуавы использовал фиксированную очередь на 2 элемента (EvictingQueue)и просто пихал туда все минимальные значения. в итоге последние 2 там так и остались. кстати я не нашел реализации такой очереди в стандартной Джавеб что как по мне странно...
@Андрей-Зубков4 жыл бұрын
Здравствуйте Сергей, нравятся ваши видео, спасибо вам. У меня просьба, не могли бы вы разобрать алгоритм "matching parenthesis problem", не уверен как на русском правильно будет, "проблема соответствия скобок" возможно. Вроде алгоритм не сложный, но хотелось бы в вашем исполнении увидеть. Спасибо)
@michaelu-bahn-fahrer16932 жыл бұрын
здравствуйте,подскажите ход мысли, если требуется :Должно быть введено минимум два числа и еще : Вывести на экран второе по величине целое число после минимального из введенных с клавиатуры???
@vitaliysmirnov70574 жыл бұрын
годнота, лайк)
@Anton-wz1ch11 ай бұрын
Зачем min2 присваивать 2 миллиарда 147+?Андрей объясните пожалуйста, нифига не пойму, программа и без того нормально работает
@Artibuk3 жыл бұрын
Кто с джавараша ставь лойс!
@svbxr2 жыл бұрын
До какого уровня дошел и нашел ли работу?
@ivanpavlov27982 жыл бұрын
Добрый вечер. Не подскажете метод для прогонки 2 раза что найти массив сначала минимальный а потом предминимальный?
@dionisll2 жыл бұрын
Так все также, только при второй прогонки если arr[i] ==min то ни чего не делаешь.
@ivanpavlov27982 жыл бұрын
@@dionisllнашел минимальный, но 2 по минимальности не знаю как прописать
@dionisll2 жыл бұрын
@@ivanpavlov2798 Серьезно? Я тебе и так все написал. Может тебе и код написать? Ладно, держи. int[] arr = {7, 5, 10, 1, 5, 8, 3, 11}; int min = arr[0]; for (int i = 0; i < arr.length; i++) { if (min > arr[i]) { min = arr[i]; } } System.out.println(min); int min2 = arr[0]; for (int i = 0; i < arr.length; i++) { if (min2 > arr[i]) { if (min != arr[i]) { min2 = arr[i]; } } } System.out.println(min2);
@ivanpavlov27982 жыл бұрын
2 минимальный найти не могу
@rollingdice2 жыл бұрын
Сергей спасибо за видео! Не понял только момент на 5:40, если min2 != Integer.MAX_VALUE, то... Вот почему на этом моменте мы в условие ставим именно Integer.MAX_VALUE?
@arhitutorials2 жыл бұрын
Изначально переменная инициализирована значением Integer.MAX_VALUE. Если после прохода по массиву там так и осталось Integer.MAX_VALUE, то значит переменная не менялась, и второго по минимальности элемента в массиве нет. То есть, скорее всего массив состоит из одинаковых значений. В этой реализации предполагается, что самого Integer.MAX_VALUE массив не содержит.
@rollingdice2 жыл бұрын
@@arhitutorials спасибо огромное) теперь дошло
@WhiteSmog-o3j2 жыл бұрын
Здравствуйте Сергей! А что если нужно найти несколько min и определить их кол-во?
@arhitutorials2 жыл бұрын
Можно найти минимум, а потом второй раз пройтись по массиву и посчитать сколько раз этот элемент встречается, если я правильно понял вопрос.
@alexndra11903 жыл бұрын
сортировка массива а потом присвоение 1 элемента массива не вариант вообще.так как если есть мин.число повторяется несколько раз, то как найти второе?
@МашаРожко-л1х3 жыл бұрын
А как такое повторить на строках, не могу достать самое короткое слово, если их два одинаковых, то второе? спасибо
@jakob88355 жыл бұрын
Здравствуйте, нам учитель в универе дал задачку, суть заключается в том что бы разделить какой то массив на n частей, можно разделить только последовательно, но надо разделить так что бы, максимизировать минимальное число при суммирований значений разделенных массивов. Но я никак не смог ее решить и в инете поискал, тоже ничего не нашел. Можете рассмотреть данную задачу в следующих видео?
@arhitutorials5 жыл бұрын
Привет. Если я правильно понял постановку задачи, массив надо разделить n частей. Далее считается сумма элементов каждой части. Необходимо провести такое разделение, чтоб самая маленькая из этих сумм была как можно больше. То есть, в идеале надо стремиться так разделить массив, чтоб все суммы были одинаковыми. Правильно? При этом число n может задаваться любым при старте алгоритма? Похоже на разновидность задачи о рюкзаке.
@jakob88355 жыл бұрын
@@arhitutorials да, вы правильно поняли
@TheSkovorodker2 жыл бұрын
я новичок в программировании. Разбираю шаг за шагом. Объясните пожалуйста две строчки min2 = min; min = array[i];
@hmerio2 жыл бұрын
в этом цикле мы перебираем все элементы массива (array[i] ) и если min меньше любого элемента массива - то присваиваем переменной min значение массива. Но так как задача стоит перехватить предпоследнее значение min - то вводим еще одну переменную min2. и сначала делаем ее min. а потом min присваиваем еще раз минимальное значение, если возможно. поэтому min2 = min; // присваиваем min2 минимальное значение - min min = array[i]; // еще раз пытаемся найти минимальное значение
@beerbis3 жыл бұрын
`int[] array = {1, Integer.MAX_VALUE}` - пам-пам.
@ТаримЗиямов3 жыл бұрын
Как быть в таком случае?
@beerbis3 жыл бұрын
@@ТаримЗиямов не использовать странных синтетических предположений. null - если ничего нет - достаточно естественное значение; не любовь к null-ам? - Optional всех спасёт.
@ТаримЗиямов3 жыл бұрын
@@beerbis Спасибо большое за ответ!
@АлександрБадаландабад3 жыл бұрын
@@beerbis ИМХО, не самое хорошее решение, код сильно усложниться. Тогда уж лучше флаг ввести, который будет менять свое значение при изменение переменной min2, и в конце при выводе результатов учитывать его, второй if тоже чутка изменить надо, в первом условии вместо < поставить