Java. Поиск второго по минимальности элемента в массиве.

  Рет қаралды 12,549

Sergey Arkhipov Java Tutorials

Sergey Arkhipov Java Tutorials

Күн бұрын

Пікірлер: 54
@magellan127
@magellan127 4 жыл бұрын
Очень помогло для решения задачи на JavaRush! Благодарю!
@ololoshololoev.5852
@ololoshololoev.5852 2 жыл бұрын
Да я тоже оттуда) самому задача не далась,только тут понял что двигался в правильном направлении и был очень близко.
@svbxr
@svbxr 2 жыл бұрын
Жыза)
@svbxr
@svbxr 2 жыл бұрын
До какого уровня дошли и нашли ли работу?
@magellan127
@magellan127 2 жыл бұрын
@@svbxr Здравствуйте, если меня спрашиваете, то наверное до 7 го но в тестировочном режиме не за деньги, на тот момент когда начинал была такая возможность. Работу не искал так как планы поменялись и поехал работать с женой в Великобританию. Теперь вернулся, началась война и опять взялся за обучение. Интересен андроид. Вот вам и жыза)
@svbxr
@svbxr 2 жыл бұрын
@@magellan127 спасибо за историю, удачи вам!)
@MrVakial
@MrVakial 4 жыл бұрын
Ваше видео помогло мне пройти техническое интервью!! Спасибо большое!!!
@stellarywisdom3132
@stellarywisdom3132 Жыл бұрын
Огромная благодарность! Вы так хорошо объясняете!!
@Chestor1988
@Chestor1988 2 жыл бұрын
Как раз на собесе недавно была задачка найти наименьшее произведение пары чисел в массиве. Вместо двойного цикла, где каждое с каждым число перемножается - как раз нужно найти два минимальных значения и их перемножить - получится О(n) вместо n в квадрате. Спасибо за уроки - очень помогают вспомнить все нюансы Java
@TheGloriousRussian
@TheGloriousRussian 3 жыл бұрын
Гениально и просто! Спасибо вам большое Сергей, вы так хорошо всё объясняете. Я даже подписался не глядя.
@BigRock379
@BigRock379 Жыл бұрын
Такая уютная музыка на канале
@РафаэльМустафин-ч4к
@РафаэльМустафин-ч4к 3 жыл бұрын
Спасибо! Все четко, понятно и подробно!
@andrei8299
@andrei8299 3 жыл бұрын
Спасибо за видео!
@Andrzej3935
@Andrzej3935 3 жыл бұрын
Спасибо вам!
@МаксимКоротчий
@МаксимКоротчий 3 жыл бұрын
спасибо!
@avemaria3978
@avemaria3978 5 жыл бұрын
Привет. Интересное видео получилось, хотя мне не очень понятно где этот алгоритм может пригодиться. Впрочем, видео как всегда отличное и легко понимаемое) Лично я бы хотел, чтобы ты записал ролик по андроиду на тему продвинутой верстки. За пример хотел бы, чтобы ты взял приложение Medium с его довольно интересным списком.
@arhitutorials
@arhitutorials 5 жыл бұрын
Привет. Я так подозреваю, что этот алгоритм используют в качестве домашнего задания при обучении начинающих программистов, с целью развития алгоритмических навыков. Основное практическое применение - заставить студентов подумать)
@erikjoomla9872
@erikjoomla9872 3 жыл бұрын
@@arhitutorials Тоже не совсем понимаю в чем смысл этого алгоритма. Ведь мы может написать int min2 = array[array.length - 2] после сортировки по убыванию, либо же int min2 = array[1] после сортировки по возрастанию.
@arhitutorials
@arhitutorials 3 жыл бұрын
@@erikjoomla9872 Это да, но к этому нужно еще сортировку выполнить. А тут речь о том, что можно без сортировки обойтись, да еще и за один проход по массиву.
@alexndra1190
@alexndra1190 3 жыл бұрын
@@erikjoomla9872 только если у тебя массив из повторяющихся чисел, например 1, 4,1,7,3,1 то так ты тройку не найдешь
@АлександрБадаландабад
@АлександрБадаландабад 3 жыл бұрын
@@alexndra1190 , найдешь, проверил !
@kensaitakeso
@kensaitakeso 2 жыл бұрын
прикольное решение а меня немного понесло и вообще другой подход выбрал. я из Гуавы использовал фиксированную очередь на 2 элемента (EvictingQueue)и просто пихал туда все минимальные значения. в итоге последние 2 там так и остались. кстати я не нашел реализации такой очереди в стандартной Джавеб что как по мне странно...
@Андрей-Зубков
@Андрей-Зубков 4 жыл бұрын
Здравствуйте Сергей, нравятся ваши видео, спасибо вам. У меня просьба, не могли бы вы разобрать алгоритм "matching parenthesis problem", не уверен как на русском правильно будет, "проблема соответствия скобок" возможно. Вроде алгоритм не сложный, но хотелось бы в вашем исполнении увидеть. Спасибо)
@michaelu-bahn-fahrer1693
@michaelu-bahn-fahrer1693 2 жыл бұрын
здравствуйте,подскажите ход мысли, если требуется :Должно быть введено минимум два числа и еще : Вывести на экран второе по величине целое число после минимального из введенных с клавиатуры???
@vitaliysmirnov7057
@vitaliysmirnov7057 4 жыл бұрын
годнота, лайк)
@Anton-wz1ch
@Anton-wz1ch 11 ай бұрын
Зачем min2 присваивать 2 миллиарда 147+?Андрей объясните пожалуйста, нифига не пойму, программа и без того нормально работает
@Artibuk
@Artibuk 3 жыл бұрын
Кто с джавараша ставь лойс!
@svbxr
@svbxr 2 жыл бұрын
До какого уровня дошел и нашел ли работу?
@ivanpavlov2798
@ivanpavlov2798 2 жыл бұрын
Добрый вечер. Не подскажете метод для прогонки 2 раза что найти массив сначала минимальный а потом предминимальный?
@dionisll
@dionisll 2 жыл бұрын
Так все также, только при второй прогонки если arr[i] ==min то ни чего не делаешь.
@ivanpavlov2798
@ivanpavlov2798 2 жыл бұрын
@@dionisllнашел минимальный, но 2 по минимальности не знаю как прописать
@dionisll
@dionisll 2 жыл бұрын
@@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);
@ivanpavlov2798
@ivanpavlov2798 2 жыл бұрын
2 минимальный найти не могу
@rollingdice
@rollingdice 2 жыл бұрын
Сергей спасибо за видео! Не понял только момент на 5:40, если min2 != Integer.MAX_VALUE, то... Вот почему на этом моменте мы в условие ставим именно Integer.MAX_VALUE?
@arhitutorials
@arhitutorials 2 жыл бұрын
Изначально переменная инициализирована значением Integer.MAX_VALUE. Если после прохода по массиву там так и осталось Integer.MAX_VALUE, то значит переменная не менялась, и второго по минимальности элемента в массиве нет. То есть, скорее всего массив состоит из одинаковых значений. В этой реализации предполагается, что самого Integer.MAX_VALUE массив не содержит.
@rollingdice
@rollingdice 2 жыл бұрын
@@arhitutorials спасибо огромное) теперь дошло
@WhiteSmog-o3j
@WhiteSmog-o3j 2 жыл бұрын
Здравствуйте Сергей! А что если нужно найти несколько min и определить их кол-во?
@arhitutorials
@arhitutorials 2 жыл бұрын
Можно найти минимум, а потом второй раз пройтись по массиву и посчитать сколько раз этот элемент встречается, если я правильно понял вопрос.
@alexndra1190
@alexndra1190 3 жыл бұрын
сортировка массива а потом присвоение 1 элемента массива не вариант вообще.так как если есть мин.число повторяется несколько раз, то как найти второе?
@МашаРожко-л1х
@МашаРожко-л1х 3 жыл бұрын
А как такое повторить на строках, не могу достать самое короткое слово, если их два одинаковых, то второе? спасибо
@jakob8835
@jakob8835 5 жыл бұрын
Здравствуйте, нам учитель в универе дал задачку, суть заключается в том что бы разделить какой то массив на n частей, можно разделить только последовательно, но надо разделить так что бы, максимизировать минимальное число при суммирований значений разделенных массивов. Но я никак не смог ее решить и в инете поискал, тоже ничего не нашел. Можете рассмотреть данную задачу в следующих видео?
@arhitutorials
@arhitutorials 5 жыл бұрын
Привет. Если я правильно понял постановку задачи, массив надо разделить n частей. Далее считается сумма элементов каждой части. Необходимо провести такое разделение, чтоб самая маленькая из этих сумм была как можно больше. То есть, в идеале надо стремиться так разделить массив, чтоб все суммы были одинаковыми. Правильно? При этом число n может задаваться любым при старте алгоритма? Похоже на разновидность задачи о рюкзаке.
@jakob8835
@jakob8835 5 жыл бұрын
@@arhitutorials да, вы правильно поняли
@TheSkovorodker
@TheSkovorodker 2 жыл бұрын
я новичок в программировании. Разбираю шаг за шагом. Объясните пожалуйста две строчки min2 = min; min = array[i];
@hmerio
@hmerio 2 жыл бұрын
в этом цикле мы перебираем все элементы массива (array[i] ) и если min меньше любого элемента массива - то присваиваем переменной min значение массива. Но так как задача стоит перехватить предпоследнее значение min - то вводим еще одну переменную min2. и сначала делаем ее min. а потом min присваиваем еще раз минимальное значение, если возможно. поэтому min2 = min; // присваиваем min2 минимальное значение - min min = array[i]; // еще раз пытаемся найти минимальное значение
@beerbis
@beerbis 3 жыл бұрын
`int[] array = {1, Integer.MAX_VALUE}` - пам-пам.
@ТаримЗиямов
@ТаримЗиямов 3 жыл бұрын
Как быть в таком случае?
@beerbis
@beerbis 3 жыл бұрын
@@ТаримЗиямов не использовать странных синтетических предположений. null - если ничего нет - достаточно естественное значение; не любовь к null-ам? - Optional всех спасёт.
@ТаримЗиямов
@ТаримЗиямов 3 жыл бұрын
@@beerbis Спасибо большое за ответ!
@АлександрБадаландабад
@АлександрБадаландабад 3 жыл бұрын
@@beerbis ИМХО, не самое хорошее решение, код сильно усложниться. Тогда уж лучше флаг ввести, который будет менять свое значение при изменение переменной min2, и в конце при выводе результатов учитывать его, второй if тоже чутка изменить надо, в первом условии вместо < поставить
@vladkazmin9398
@vladkazmin9398 2 жыл бұрын
ПАТПИСКАА
@eugenmann
@eugenmann 9 ай бұрын
Это не работает...
Java. Разбираемся с монадами.
20:20
Sergey Arkhipov Java Tutorials
Рет қаралды 10 М.
Это было очень близко...
00:10
Аришнев
Рет қаралды 6 МЛН
إخفاء الطعام سرًا تحت الطاولة للتناول لاحقًا 😏🍽️
00:28
حرف إبداعية للمنزل في 5 دقائق
Рет қаралды 84 МЛН
Help Me Celebrate! 😍🙏
00:35
Alan Chikin Chow
Рет қаралды 90 МЛН
Java. Поиск в массиве: линейный, двоичный.
16:19
Sergey Arkhipov Java Tutorials
Рет қаралды 12 М.
17. Основы Java - Практика: Массивы + Циклы
35:01
Александр Фисунов
Рет қаралды 3,4 М.
Java. О сортировке выбором.
8:17
Sergey Arkhipov Java Tutorials
Рет қаралды 20 М.
Java. Для чего нужен Optional?
18:26
Sergey Arkhipov Java Tutorials
Рет қаралды 13 М.
Java. Очередь и стек.
22:03
Sergey Arkhipov Java Tutorials
Рет қаралды 22 М.
Java. Проблема с null. Null safety.
11:59
Sergey Arkhipov Java Tutorials
Рет қаралды 10 М.
Java. Сортировка слиянием.
14:55
Sergey Arkhipov Java Tutorials
Рет қаралды 23 М.