DS Average Enjoyer
DS Average Enjoyer
  • 63
  • 21 124

Відео

Задача с собеседования LeetCode 62 Unique Paths #python #coding #leetcode
Переглядів 8019 годин тому
Шикарная задача на применение DP (dynamic programming) Разбор задачи со стрима Подписывайся на ТГ - t.me/ds_average_enjoyer
Задача с собеседования LeetCode 338 Counting Bits #python #coding #leetcode
Переглядів 4321 годину тому
Разбор задачи со стрима Подписывайся на ТГ - t.me/ds_average_enjoyer
Задача с собеседования LeetCode 121 Best Time To Buy ANd Sell Stock #python #coding #leetcode
Переглядів 50День тому
Разбор задачи со стрима Подписывайся на ТГ - t.me/ds_average_enjoyer
Задача с собеседования LeetCode 55 Jump Game #python #coding #leetcode #code
Переглядів 56День тому
Задача подробно разбиралась на стриме - ua-cam.com/users/liveUy-MbQ3Ltxo Подписывайся на ТГ, чтобы не пропустить анонсы стримов - t.me/ds_average_enjoyer
Задача с собеседования LeetCode 118 Pascal's Triangle #python #coding #leetcode
Переглядів 344День тому
Задача подробно разбиралась давно на стриме (осторожно, тупняки от автора!) - ua-cam.com/users/live02zP4G2jbuo Подписывайся на ТГ, чтобы не пропустить анонсы стримов - t.me/ds_average_enjoyer
Как отвечать на вопрос про деньги на собеседовании в IT? #интервью #hr #собеседование #скрининг
Переглядів 1044 місяці тому
Как отвечать на вопрос про деньги на собеседовании в IT? #интервью #hr #собеседование #скрининг
Лекция 1. Введение в RecSys
Переглядів 725 місяців тому
Лекция 1. Введение в RecSys
Задача с собеседования. Следующая меньшая перестановка числа
Переглядів 4777 місяців тому
Задача с собеседования. Следующая меньшая перестановка числа
АБ тестирование. 3. Строим дерево метрик
Переглядів 538 місяців тому
АБ тестирование. 3. Строим дерево метрик
АБ тестирование. 2. Процесс на примере музыкального сервиса
Переглядів 518 місяців тому
АБ тестирование. 2. Процесс на примере музыкального сервиса
Задача с собеседования. rand2, rand3
Переглядів 988 місяців тому
Задача с собеседования. rand2, rand3
Задачи с собеседований. Монте-Карло для численного решения
Переглядів 1678 місяців тому
Задачи с собеседований. Монте-Карло для численного решения
Задача с собеседования. Две игральные кости
Переглядів 1,4 тис.8 місяців тому
Задача с собеседования. Две игральные кости
Задача с собеседования. Математическое ожидание количества бросков
Переглядів 3728 місяців тому
Задача с собеседования. Математическое ожидание количества бросков
АБ тестирование. 1. Интуитивное понимание, как устроен процесс
Переглядів 768 місяців тому
АБ тестирование. 1. Интуитивное понимание, как устроен процесс

КОМЕНТАРІ

  • @devdeveloper9183
    @devdeveloper9183 19 годин тому

    Вебка закрывает excalidraw. Хотя там и так понятно, но все же.

    • @dsmlenjoyer
      @dsmlenjoyer 18 годин тому

      Да, спасибо - уже постфактум заметил) Перенесу в следующий раз либо организую так, чтобы физически не пересекались пространства

  • @bobby_ridge
    @bobby_ridge 4 дні тому

    Ютуб следит за мной. +- 2 часа пытался ее решить и она прилетает в рекомендации. Повод задуматься

    • @dsmlenjoyer
      @dsmlenjoyer 4 дні тому

      Контекстная реклама) А задача прям "классическая" для динамического программирования)

  • @dsmlenjoyer
    @dsmlenjoyer 5 днів тому

    Странно, но стрим оборвался в самом конце( Там не то чтобы много суперценного - просто еще добил оценку по месту, которое нам потребуется для хранения признаков + подписал блоки на схеме (конкретные инструменты указал)

  • @Ygoleck
    @Ygoleck 13 днів тому

    Заюзать set() и готово, следом сортируем.

    • @dsmlenjoyer
      @dsmlenjoyer 12 днів тому

      Здесь ключевое требование в условии - это in-place, т,е. нельзя создавать дополнительные структуры данных (а когда ты берешь set() от массива, то создается множество и расходуется память (в худшем случае столько же элементов будет, что и в исходном массиве, если там вообще все числа уникальные)) В реальной жизни это конечно условность, но на собеседовании придется учитывать такое ограничение

  • @dsmlenjoyer
    @dsmlenjoyer 20 днів тому

    Задачи в конце стрима "на подумать" - code.yandex-team.ru/7d908653-c78c-4912-966d-f1172f725bef p.s. разберем их уже на следующем стриме по алгосам (+ парочку других алгоритмов)

  • @gnom-om
    @gnom-om 28 днів тому

    зачем смотреть поиск между указтелями и сколзящим?

    • @dsmlenjoyer
      @dsmlenjoyer 28 днів тому

      В целом да, можно немного поменять порядок тем и разобраться со sliding window сначала, а затем уже перейти к поиску

    • @gnom-om
      @gnom-om 27 днів тому

      @@dsmlenjoyer имхо сначала все о массивах, потом поиски и так далее, но конечно это тебе решать)

  • @dsmlenjoyer
    @dsmlenjoyer 2 місяці тому

    Задача со стрима - leetcode.com/problems/product-of-array-except-self/description/ код с решениями - code.yandex-team.ru/7d908653-c78c-4912-966d-f1172f725bef

  • @Ангелина-с9ш6о
    @Ангелина-с9ш6о 4 місяці тому

    Привет, а есть канал, где вы делаете анонсы стримов?

    • @dsmlenjoyer
      @dsmlenjoyer 4 місяці тому

      Привет) анонсов не делал, хотя наверное стоит начать это делать)

    • @dsmlenjoyer
      @dsmlenjoyer 4 місяці тому

      Ближайший точно будет в течении недели и точно по динамическому программированию

    • @Ангелина-с9ш6о
      @Ангелина-с9ш6о 4 місяці тому

      @@dsmlenjoyer спасибо!

    • @Ангелина-с9ш6о
      @Ангелина-с9ш6о 3 місяці тому

      Добрый день! Стримов больше не будет?😢

    • @dsmlenjoyer
      @dsmlenjoyer 14 днів тому

      Был перерыв) А так стримы будут (и есть). Канал t.me/ds_average_enjoyer , но там не только анонсы, но и посты разные про DS/ML/алгоритмы/трудоустройство + разборы вопросов, задач, историй из профессиональной жизни (коих немало)

  • @infinarossa
    @infinarossa 4 місяці тому

    Ничего не понял, но очень интересно

  • @dsmlenjoyer
    @dsmlenjoyer 4 місяці тому

    Прошлое видео, в котором разбирается процесс трудоустройства в целом - ua-cam.com/users/livetiq1QJUv5xs?si=Cfmng4W7rL4faBoA

  • @dsmlenjoyer
    @dsmlenjoyer 4 місяці тому

    Примеры исследований зарплат: 1. habr.com/ru/articles/809923/ 2. от hh - hh.ru/article/2160 3. еще от них же - hh.ru/article/31783 Для ознакомления вроде бы ничего, хотя зп занижены, кажется (субъективное мнение) Бородатый анекдот, упомянутый в видео: "Сидят два ичара, старый и молодой. И перед ними огромная гора резюме. Молодой: Мдаа, мы с этим всю неделю просидим Старый снимает верхнюю половину с этой горы и отправляет в мусорку. Молодой: Ты чего делаешь??! Старый: Ну, а зачем нам неудачники?.."

  • @fggf2973
    @fggf2973 4 місяці тому

    Нихуя не понял, но интересно

    • @dsmlenjoyer
      @dsmlenjoyer 4 місяці тому

      Это нормально, когда впервые сталкиваешься с такими задачами в целом и с динамическим программированием - в частности)

  • @julistardmj
    @julistardmj 5 місяців тому

    Спасибо за крутую базу!👍🏻Ждем видео про подготовку к алго. собесам

    • @dsmlenjoyer
      @dsmlenjoyer 5 місяців тому

      Спасибо большое) Будет обязательно. Там много всего, конечно. Как со стороны "техники", так и "психологии" (волнение, нежелание такие задачи на интервью решать и т.д.).

  • @В1нк
    @В1нк 5 місяців тому

    Очень полезно, спасибо

  • @dsmlenjoyer
    @dsmlenjoyer 6 місяців тому

    Первые 8 минут потеряны( Но никаких задач там еще не успел разобрать, так что ничего страшного (кажется)

  • @dsmlenjoyer
    @dsmlenjoyer 7 місяців тому

    на 19:15 в спешке написал неверно. В таблице истинности там 0 1 1 0 конечно же)

    • @staslelyuk8734
      @staslelyuk8734 7 місяців тому

      А задача First Missing Positive точно правильно решена? С кейсами когда пропущенное число находится в диапазоне массива всё отлично, но задача подразумевает кейс [7, 8, 9, 11, 12] с ответом 1, что в Вашем алгоритме я не уверен что так отработает. Я что-то упускаю?

    • @dsmlenjoyer
      @dsmlenjoyer 7 місяців тому

      Да, отработает) собственно, там один из тестовых примеров именно такой и код прошел

  • @stepan_chous
    @stepan_chous 7 місяців тому

    все круто. задача хорошая и объяснение понятное. единственное, что хотел бы отметить - подсветка микрофона. когда она меняется отвлекает, но это мое восприятие, может кому-то не мешает

    • @dsmlenjoyer
      @dsmlenjoyer 7 місяців тому

      Задача сложная - я бы на интервью не решил, скорее всего) Если бы не знал как решать или не видел что-то похожее ранее. Микрофон планирую поменять в какой-то момент - он не очень удобный сам по себе)

  • @danilshein4612
    @danilshein4612 7 місяців тому

    Не знаю почему Ютуб подкинул мне это видео, ну да ладно. Если уж писать реализацию на Python, то писать не в стиле С. 1. Делаем список цифр числа > num_digits = [int(x) for x in str(input_number)] 2. Развернуть список: > my_list = my_list[::-1] > my_list = reversed(my_list) > my_list.reverse() 3. сортировку хвоста делаем также через встроенные функции list.sort() / sorted() от среза 4. Собираем разряды в число > result = int("".join(str(x) for x in num_digits)). Хотя я бы даже не переводил разряды числа из строи т.к. от этого ничего в алгоритме не поменяется а лишнее преобразование туда-обратно мы убираем.

    • @yotachkaa5247
      @yotachkaa5247 7 місяців тому

      я вахуй

    • @dsmlenjoyer
      @dsmlenjoyer 7 місяців тому

      да, Вы правы, конечно - можно очень по-разному решить ту или иную подзадачу. В этом и прелесть программирования и не только) У меня бывало на собесах что вводилось дополнительное требование на то чтобы не использовать "встроенные" (специфичные) для конкретного языка функции (точнее, использовать из по-минимуму). А так код конечно же можно сократить прилично)

  • @effymlnchl
    @effymlnchl 8 місяців тому

    спасибо!!

  • @АленаВолошина-д7ж
    @АленаВолошина-д7ж 8 місяців тому

    Отличные видео! Дальше - больше, не забрасывай! Для большей мотивации продвигай канал, привлекай заинтересованных зрителей. По своему опыту знаю, что ютифай с этим хорошо справляется)

    • @dsmlenjoyer
      @dsmlenjoyer 8 місяців тому

      Спасибо большое) Точно не планирую забрасывать - столько всего еще перерешать можно. Мне и самому полезно - я даже как-то возвращался к паре задач и их решению в последнее время. Также в планах разборы тестовых на ML/DS/аналитику) Со временем, как наберусь уверенности (волнение страшное на стримах) и опыта)

  • @KlGleb
    @KlGleb 8 місяців тому

    Вторая задача -- объяснение в общем виде, мб полезно, но в данном случае можно использовать очень простое условие без дополнительных переменных: если число равно 9, то ставим 0 и идем на следующую итерацию. Иначе прибавляем к числу 1 и прерываем итерацию. А, ну и если доходим до последней итерации, и там стоит 9, то ставим 0 и возвращаем массив [1,0,0,...]

    • @dsmlenjoyer
      @dsmlenjoyer 8 місяців тому

      В этом тоже прелесть (ну кому как) задач - их можно решить очень по-разному)

  • @iwillwatch
    @iwillwatch 8 місяців тому

    в последней задаче зачем отсечение по 40? неясно чем 41, 45, 49 мешают. Так же берем остаток от деления на 10.

    • @dsmlenjoyer
      @dsmlenjoyer 8 місяців тому

      Тогда получится так что не все числа от 1 до 10 будут встречаться одинаково. И не будет равной вероятности. В принципе можно было выбрать в качестве порога и 10 и 20 либо 30. Тогда числа были бы равновероятны, но количество вызовов было бы неоптимальным. Дело в остатке от деления на 10. Попробуйте взять 11 (для примера) и посчитать остаток от деления на 10. Получится: 1%10=1, 2%10=2, 3%10=3, 4%10=4, 5%10=5, 6%10=6, 7%10=7, 8%10=8, 9%10=9, 10%10=0, 11%10=1. Таким образом, у нас дважды получается 1. И, если вызвать функцию много раз, то 1 будет встречаться чаще, чем остальные.

  • @SRWmc
    @SRWmc 8 місяців тому

    Как решать задачу если у нам нужно 3 или более орлов подряд???

  • @trueArcticFox
    @trueArcticFox 8 місяців тому

    там же не обязательно сабмитить чтобы прогнать непрошедший тест, есть же кнопка use test case

    • @dsmlenjoyer
      @dsmlenjoyer 8 місяців тому

      да, спасибо большое) Забыл про эту опцию совсем - в следующих стримах буду активно пользоваться (стараться)

  • @trueArcticFox
    @trueArcticFox 8 місяців тому

    В что это за программа в которой схемы рисуете?

    • @dsmlenjoyer
      @dsmlenjoyer 8 місяців тому

      Это просто excalidraw.com/. Удобно в целом. Даже на технических интервью прошу интервьюеров дать возможность порисовать - иногда прям помогает сильно в понимании что нужно сделать)

  • @pitsa3671
    @pitsa3671 8 місяців тому

    спасибо за объяснение, подскажите, встречал много похожих задачек на нахождение мат.ожидания кол-во ходов или еще чего-то до наступления какого-то события, может знаете где можно почитать про такого рода задачки?

    • @dsmlenjoyer
      @dsmlenjoyer 8 місяців тому

      Есть несколько вариантов этой задачи, когда рассматривается какое-то событие вида РР, ОО, РРО, ООР и т.д. Я с похожими сталкивался на собесах, а так нужно наверное просто искать на просторах Интернета)

  • @NewBuildmini
    @NewBuildmini 8 місяців тому

    Если разделить 2 (количество орлов) на вероятность выпадения орла или решки (0.5, поскольку она одинаковая), то мы получим 4.

  • @РобертРоберт-у7о
    @РобертРоберт-у7о 8 місяців тому

    Чет нифига не понятно

    • @dsmlenjoyer
      @dsmlenjoyer 8 місяців тому

      А представьте такое на техническом интервью получить - в условиях стресса и суперограниченного времени( Да, задачка сложна именно для понимания (особенно если никогда подобное не решал). Но есть видео с эмпирическим способом нахождения искомой величины (с помощью множественных симуляций) и там все сходится (как sanity check такой дополнительный - для проверки теоретических рассуждений).

  • @ИванПрус-в3ь
    @ИванПрус-в3ь 8 місяців тому

    неверно. вероятность каждого броска 50%, а значит бросков может быть минимально 2, максимально *бесконечность*. Ведь есть вероятность того, что 2 раза орел не выпадет на протяжении всего эксперимента и она равна 50%. значит правильный ответ будет (*бесконечность*-2)/2

    • @ИванПрус-в3ь
      @ИванПрус-в3ь 8 місяців тому

      если первым выпал орел, это никак не увеличивает вероятность выпадения орла, так что эта переменная не релевантна

    • @dsmlenjoyer
      @dsmlenjoyer 8 місяців тому

      @@ИванПрус-в3ь может быть и бесконечность в отдельно взятом испытании. Но в среднем будет именно 6. И это подтверждается симуляциями (Монте-Карло) - есть отдельное видео, которое демонстрирует это (при повторении эксперимента тысячи раз мы в среднем получаем как раз 6)

  • @goldkreateav
    @goldkreateav 8 місяців тому

    Банальная задача. Мат. ожидание можно без кучи дробей посчитать сложив максимальный и минимальный результаты, и поделив на 2. Вот и выходит 3.5. Если падает меньше, то очевидно в среднем лучше перебрасывать.

    • @nikita143090
      @nikita143090 8 місяців тому

      Ну, это скорее частный случай: если результаты события равномерно распределены и равновероятны, то и среднее, и мат.ожидание будет равно половине разницы максимального и минимального значений. Но то, что показал автор видео, является общим способом вычисления мат.ожидания, который будет работать не только на костях, но и на более сложных моделях.

  • @SV-13
    @SV-13 8 місяців тому

    Половину рассуждений не понял, но, только прочитав условие, сказал себе, что буду перебрасывать зарик, если в 1-й раз выпало меньше 4-х. Подсознание не обмануло ))

  • @deytd1507
    @deytd1507 8 місяців тому

    я не очень доволен обоснованием того, что твоя стратегия оптимальная. Понятно, что если мы выбрали перебрасывать при выпадении одних чисел, но не перебрасывать при выпадении других то таких стратегий конечное количество и их можно перебрать. Но ведь можно, например, присвоить числам веса. Тоесть скажем при выпадении 1 мы перебросим с вероятностью 2/3 а при выпадении 6 перебросим с вероятностью 1/3. Таким образом возможных стратегий уже бесконечное количество и перебрать все не выйдет. Соответственно не очевидно почему всё таки предложенная стратегия оптимальна

    • @dsmlenjoyer
      @dsmlenjoyer 8 місяців тому

      Если с весами, то да - стратегий бесконечное число и это скорее уже задача оптимизации получается. Но кажется, что добавление весов немного (сильно) меняет условие, т.е. это довольно таки серьезный пункт, радикально меняющий задачу. Выбранная стратегия оптимальна именно в исходной постановке - без дополнительных условий. Хотя с весами интересно очень - особенно на техсобесе такое получить и попытаться в условиях стресса придумать решение)

    • @deytd1507
      @deytd1507 8 місяців тому

      @@dsmlenjoyer я вполне уверен что такая интерпритация условия никак не меняет ответ, просто его становится сложнее обосновать

    • @elja6750
      @elja6750 8 місяців тому

      ​@@dsmlenjoyer в условии спрашивают про стратегию - нет ограничений на то, какая она может быть. Если выпала тройка, то надо обосновать, что если я хочу в этом случае перебрасывать в половине случаев, не будет ли это лучше, чем всегда.

    • @dsmlenjoyer
      @dsmlenjoyer 8 місяців тому

      Так если перебрасывать всегда, то матожидание равно 3.5. а если перебрасывать только при количестве очков, меньшем 3.5, то в итоге будет 4.25

    • @dsmlenjoyer
      @dsmlenjoyer 8 місяців тому

      Это легко показать с помощью симуляций. Записал видео с методом Монте Карло и там эта задача разобрана также

  • @sicknature0717
    @sicknature0717 8 місяців тому

    Довольно простая задача, но было интересно. Спасибо за разбор!

    • @dsmlenjoyer
      @dsmlenjoyer 8 місяців тому

      Спасибо за отзыв) будут и другие - на алгоритмы, в том числе)