Прохождение секции алгоритмов в Яндекс и Facebook. Руслан Ситдиков разбирает типовые задачи.

  Рет қаралды 26,340

Андрей += Пронин

Андрей += Пронин

3 жыл бұрын

Всем спасибо за просмотр! Ставьте 👍 если Вам понравилось видео!
Нажимайте 🔔 чтобы видеть наши новые выпуски. Благодарность за подписку.
🔔ПОДПИСЫВАЙТЕСЬ:🔔
🔗Вконтакте: CaptPronin
🔗Facebook: / proninc

Пікірлер: 45
@user-ys8ng2mq5r
@user-ys8ng2mq5r 3 жыл бұрын
Спасибо за полезное видео. Очень интересно
@user-py6uc7ci6l
@user-py6uc7ci6l 3 жыл бұрын
Спасибо, очень интересно
@l7l7l7lful
@l7l7l7lful 2 жыл бұрын
Божечки, спасибо вам большое за такой ценный контент!
@AndyPronin
@AndyPronin 2 жыл бұрын
Не переключайтесь. Скоро будет ещё интересней.) Буду благодарен за репосты в ваших соцсетях
@user-fq6tg1em4h
@user-fq6tg1em4h 3 жыл бұрын
Спасибо, было полезно!
@user-kp1ym2wl2j
@user-kp1ym2wl2j 5 ай бұрын
выкладывайте в 1080 плиз, 720 маловато
@Bibliophilos
@Bibliophilos Жыл бұрын
Рубрика с Русланом - отдельный лайк!
@AndyPronin
@AndyPronin Жыл бұрын
скоро еще запишем. Он вернулся в РФ
@Bibliophilos
@Bibliophilos Жыл бұрын
@@AndyPronin лукинг форвард ту зис премьер! Пользуясь случаем, хотел бы уточнить, насколько глубоко надо копать джуну в плане асинхронки, конкурентности и многопоточности? Просто на словах рассказать о понятиях или показать, что умеешь в асинке кодить, например?
@marinasibi
@marinasibi 3 жыл бұрын
супер)
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Жыл бұрын
9:28 "не понятно с сходу как ее решать" Это же вроде классический обход в глубину с закрашиванием вершин в черный и серый По сравнении с методом на видео, требует конечно больше памяти
@7IdE
@7IdE Жыл бұрын
Классный видос! Слышу такой: "обратный связный список" - поставил видос на паузу, пошел и решил. "Матрица по спирали" - поставил видос на паузу, пошел и решил. Увидел список задач на вебинар - поставил видос на паузу, пошел и решил. Все, можно в Яндекс или Гугол собираться? :D А по задачам: 1. Первая задач - очень прикольная на самом деле. Суть в том, что второй указатель бежит в 2 раза быстрее. И он либо найдет None, либо по циклу вернется и совпадет с первым указательно. Однако, сдается мне, тут могут задать 2 вопроса: оценить сложность такого алгоритма и доказать, что второй указатель гарантировано совпадет с первым при любом N. А это уже тяжкая задача. 2. Блин, всегда решал такую задачу задачу - просто преобразовывая в строку и тд. И я всегда считал, что это просто О(n). А О(n * log(log(n))) там будет, я полагаю, из-за случаев, когда у нас будет больше одной итерации при такой сумме? Любопытно. Всегда думал над тем, что в такой задаче стоит поискать какой-то алгоритм за О(1), но чет никогда руки не доходили. Ну, человек, который не варится в математических кругах, ни за что не выведет % 9. Банально я - недоматематик - даже не подумал об этом и решал "влоб". Такие приколюхи нужно "знать". Хотя, может я и ошибаюсь, и нематематики спокойно такое выводят. :D Прикольно, кароче. 3. Задачу про get_min() из Стэка - это вообще топ идея. Я все ломал голову - как ее решить за О(1). Ибо после того, как будет методом pop() мы удалим минимум, то придется искать минимум за О(n). А вот использовать еще один стэк - это круто. Хотя я не думал, что это разрешено. :D 4. Задача на пересечение списков. Как по мне, его решение не совсем удачное, сложность получится О(n + m + n + m) или же О(2(n + m)). Да, 2 уйдет и асимптотика останется "хорошей", но по факту - можно и быстрее. К примеру, я тупо сохранял айдишники всех нод из первого списка, затем итерировался по второму и смотрел, есть ли такой айдишник в сохраненном. Это решение за О(n + m), однако у меня и память тратится О(n). А у него память, все же, О(1). В общем, извечный вопрос: память или скорость? :D А вот за рассказ про то, как проходят собесы и особенно про то, могут помочь на собесах - за это прям отдельное спасибо. P.S. За весь сегодняшний день все, что я сделал - посмотрел этот видос длиною в 47 минут. Все остальное время я потратил на задачи из видоса и еще на какие-то связанные с ними. Забавно получилось, конечно
@AndyPronin
@AndyPronin Жыл бұрын
Не забываем оплачивать лайками и репостами
@7IdE
@7IdE Жыл бұрын
@@AndyPronin, ну, лайки ставлю, комменты оставляю, а вот репостов не будет - увы, я не любитель этой штуки.
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Жыл бұрын
1. по этой задаче правда не понятна ни сложность ни то что алгоритм реально рабочий
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Жыл бұрын
3. А зачем второй стек если можно просто переменную?
@NCMWhatNext
@NCMWhatNext 10 ай бұрын
можно без второго стэка просто в стэке хранить тьюпл (текущий элемент, текущий минимум) и текущий минимум подгружать итеративно на основе нового элемента и прошлого минимума
@alexandroppolus
@alexandroppolus 6 ай бұрын
Последняя задача (Medium 334) осталась неразобранной, но её можно решить за O(N) времени и O(1) вспомогательной памяти, идя по массиву и на каждой итерации храня самое маленькое встреченное число, а так же наименьшее число (Х), которое на своей итерации оказалось больше самого маленького. Как только натыкаемся на a[i] > X, то сразу ответ true. Сие обобщается на 4 числа, 5, и т.д.
@user-sc9hv7vy4z
@user-sc9hv7vy4z 6 ай бұрын
Решение с возвратом минимума в стеке не будет работать, если в стек будет помещëн и потом удалëн ещё один элемент, равный текущему минимуму.
@htol78
@htol78 2 жыл бұрын
Странное ощущение парень оставил. То ли проблемы со софт скилами и поэтому плохо или вообще ничего не объясняет, то ли типичный дампер без понимания чего он делает.
@user-nl5to6lr6y
@user-nl5to6lr6y Жыл бұрын
Если он принимал участие в международной олимпиаде по математике, то он все понимает х 10
@krympyr
@krympyr 5 ай бұрын
Супер, ничего не видно:)
@user-iCuaebtAi926
@user-iCuaebtAi926 11 ай бұрын
почемуто про графы никто не знает что такое число эйлера, по которому можно узнать циклы
@Ieslondor
@Ieslondor 3 жыл бұрын
Это случайно не тот легендарный студент практикума который все спринты кроме алгоритмов проходил за 1 день? 😄
@AndyPronin
@AndyPronin 3 жыл бұрын
думаю нет) 11 когорта. он еще не все спринты загрокал
@ilias3624
@ilias3624 Жыл бұрын
Про два стека тоже не до конца вкурил - если там речь просто про минимальное число. так почему его нельзя хранить в обычной переменной? Зачем заводить второй стек?
@danila_egorenko
@danila_egorenko Жыл бұрын
Допустим, стек имеет вид (3,2,1), очевидно, что наименьшее равно 1, но если убрать его из стека, то будет уже 2. Такое отследить с помощью переменной не получится, нужен дополнительный стек, который хранит минимальное на каждом уровне
@tenelokis
@tenelokis 2 жыл бұрын
Я учусь сам около 3 месяцев, что то пока алгоритмы никак.... Это норма? Или я совсем глупый? Просто дальше разбираться?
@AndyPronin
@AndyPronin 2 жыл бұрын
Норма. Что бы вкатиться в алгоритмы нужно много практики. За 3 месяца врятли
@tenelokis
@tenelokis 2 жыл бұрын
@@AndyPronin спасибо за ответ! Может быть у вас будет совет, где помимо литкод можно данную практику получить? Может быть литература какая нибудь, или обучающий ресурс 🙂
@AndyPronin
@AndyPronin 2 жыл бұрын
@@tenelokis грокаем алгоритмы. Но там не про код, а про понимание логики
@galandec2000
@galandec2000 6 ай бұрын
@@AndyPronin там еще есть ошибки и можно хорошо по тренироваться не понимая - "я скопировал а оно не работает.. почему?".🤣
@user-ur3mc6hb5d
@user-ur3mc6hb5d 4 ай бұрын
​@@galandec2000так исправь их. Сам алгоритм по коду можно понять и не важно что за код там, ассемблер или ещё какой другой. На свой любимый язык можно легко его переписать
@ilias3624
@ilias3624 Жыл бұрын
По задаче, где остаток деления на 9, непонятно, почему он говорит про сложность N log N ? Если за N брать количество разрядов в числе, то количество операций сложения почти всегда будет равно ему. Допустим для 999 будет 9+9+9 (две операции), а потом 2+7 - третья, и т.д. Вроде голимый О(N) выходит?
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Жыл бұрын
а в чем решение у него заключается? судя по коду это остаток от деления на 9, но это ведь неверно
@izmailovlz
@izmailovlz 6 ай бұрын
Вторую с делением на 9 догадаться невозможно, надо знать. Задача на знание этой херни. Это знание никак с разработкой не связано, даже на пытайтесь доказать обратное. Задача - говно
@SuperBizon012
@SuperBizon012 4 ай бұрын
так и есть и математика тут особо не причем
@galandec2000
@galandec2000 6 ай бұрын
видно что математик но не программист. ему надо на олимпиады, там его ниша. для программиста придется сломать все привычки и учиться писать код по другому. я про это очень часто слышал но ни разу не видел на примере. теперь увидел, прикольно, реально они пишут вообще не так.🤣это не значит что он пишет плохо! просто он пишет как пишут на олимпиадах по программированию. для программирования в компании, это плохо! для участия в олимпиадах, он крут. у каждого есть свое задачи и предназначения. то есть ему надо переучиваться стилю написания чтоб быть сильно востребованным в компаниях. и по софтам слабоват, объясняет очень плохо опять же как на олимпиаде. опять же это хорошо если ты участник олимпиад, и плохо если кодер в офисе.😁
@AndyPronin
@AndyPronin 6 ай бұрын
Итого он поработал и Яндексе и в Мета. Мож, не так и плохо всё
@zebroid8629
@zebroid8629 5 ай бұрын
вообще не понятно чем конкретно он плох. что не так?
@torburgmax
@torburgmax 5 ай бұрын
проще олимпиадника научить писать нормальный код, чем гуманитария алгоритм придумать)))
@user-ur3mc6hb5d
@user-ur3mc6hb5d 4 ай бұрын
Че не так с кодом? Все же нормально
@yakovvarnaev2117
@yakovvarnaev2117 Жыл бұрын
Простите, меня чет порвало, это че каждый таксист в яндексе шарит в алгосы?
@AndyPronin
@AndyPronin Жыл бұрын
Они таксерят для души. То всём известно
Good People Restore Faith in Humanity: A Heartwarming Act of Kindness on a Bus #shorts
00:32
النودلز هي دائماً الخيار الأفضل! #شورتس
00:10
Duck sushi
00:54
Alina Saito / 斎藤アリーナ
Рет қаралды 27 МЛН
Об отборе на стажировку в Яндекс из первых уст
55:45
Спортивное программирование МИРЭА
Рет қаралды 46 М.
ВСЕ ПРО СТАЖИРОВКУ В ЯНДЕКСЕ!!
43:22
Поступашки - ШАД, Стажировки и Магистратура
Рет қаралды 40 М.
КОМПЬЮТЕР ДЛЯ "БЕЗНАДЁЖНЫХ"... ВЫХОД ЕСТЬ
17:51
Сергей Черных
Рет қаралды 4,1 М.