Задача из Собеседования в Microsoft (Бинарные Деревья)

Sdílet
Vložit
  • čas přidán 3. 06. 2024
  • Разбираем 2 задачи из собеседования в Microsoft в Пражский офис. Я постарался объяснить их так, чтобы было понятно даже тем, кто вообще про бинарные деревья в первый раз слышит.
    Задачи на литкоде:
    1 - leetcode.com/problems/path-sum/
    2 - leetcode.com/problems/binary-...
    Дисклеймер:
    Изначальные задачи, которые спросили у подписчика, были другими. Я разобрал похожие, но которое уже есть на литкоде. Таким образом я и новые задачи не палю, и разбираем мы актуальные темы, на которые дают задачи на собеседованиях в топовые зарубежные IT компании.
    00:00 О задачах
    02:08 Немного теории
    03:10 Первая задача
    07:35 Разбираем на примере
    09:50 Код первой задачи
    11:38 Вторая задача
    16:08 Разбираем на примере
    18:26 Код второй задачи

Komentáře • 578

  • @sashalukin
    @sashalukin  Před měsícem

    Создал Telegram канал, в котором рассказываю о жизни в Лондоне, работе в Google и подготовке к собеседованиям. Подписывайтесь: t.me/saschalukin

  • @alexanderpoplooukhin7448
    @alexanderpoplooukhin7448 Před rokem +205

    Объяснение - просто 🔥. Это тот случай, когда у автора есть реальная способность доходчиво и лаконично объяснить алгоритмы и структуры данных

    • @victorprohorov6201
      @victorprohorov6201 Před rokem +3

      а я не особо понял. лучше было бы если бы автор показал как это работает на примере

    • @yaroslavandreyev4246
      @yaroslavandreyev4246 Před rokem +2

      @@victorprohorov6201 а чем этот пример, был не примером?

    • @victorprohorov6201
      @victorprohorov6201 Před rokem +1

      @@yaroslavandreyev4246 я не понял как мы переходим по вершинам.

    • @user-hg8mk8tb2r
      @user-hg8mk8tb2r Před rokem +1

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

  • @lostislandable
    @lostislandable Před rokem +204

    POV устраиваешься в среднестатистический проект: просят на собеседовании решить задачу на алгоритмы и математические знания а после офера отправляют таски по верстке 🤯

    • @nickoni4
      @nickoni4 Před rokem +4

      Ну так радоваться надо) изи мани)))

    • @user-rl8fy6xe1t
      @user-rl8fy6xe1t Před rokem

      Да, но это не плохо

    • @bass1387
      @bass1387 Před rokem

      Задачи могут быть разные, зависит от потребностей бизнеса))

    • @DevBer
      @DevBer Před rokem +1

      Лишь бы платили как за алгиритмические задачи с вышматом под капотом =))

    • @lostislandable
      @lostislandable Před rokem +1

      @@DevBer было б так, не было б пределу счастья :)

  • @sozinovss
    @sozinovss Před rokem +19

    Александр, Спасибо! . У тебя талант объяснять сложные вещи, не останавливайся! Не оторваться - очень понятно и легко усваивается. Затягивает - утром вместо того, чтобы кофе налить - пошел смотреть другие ролики.

  • @lufavetskaya
    @lufavetskaya Před rokem +53

    После обнаружения таких замечательных пояснений, начинаешь очаровываться алгоритмами! Спасибо за вашу работу. Нереально приятно изучать тему, с таким обучающим контентом❤

  • @user-to1sn4ft5e
    @user-to1sn4ft5e Před rokem +15

    Очень круто, спасибо. Давно хотел разобраться с деревьями

  • @Nardan78
    @Nardan78 Před rokem +3

    Объяснение просто огонь. Сейчас как раз прохожу тему алгоритмов и структур данных, а ютуб подсунул видео. Несложные алгоритмы и сам нормально решаю, а вот структуры данных начали вызывать какой-то необъяснимый страх. Не думал, что весь алгоритм настолько прост. Спасибо!

  • @ILikeActions
    @ILikeActions Před rokem +12

    Отличный разбор и отличная подача! Ждем следующей задачи)

  • @sergiigordiienko2494
    @sergiigordiienko2494 Před rokem

    Приятно смотреть и слушать. Очень понятное и детальное объяснение. Большое спасибо!

  • @qumi645
    @qumi645 Před rokem +3

    Шикарная подача!
    Всё доступно и понятно, особенно с учетом того, что я далек от программирования:)

  • @user-gs7ro3tl9t
    @user-gs7ro3tl9t Před 7 měsíci +3

    Я считаю, что это один из лучших каналов на ютубе по подготовке к алгоритмической секции!
    Спасибо огромное!!!

  • @georgiirozhnev
    @georgiirozhnev Před rokem +2

    Блестящий разбор! Ждём продолжения

  • @user-zf9gl8fr5g
    @user-zf9gl8fr5g Před rokem +1

    Разбор задачи хорошо подан. Классный контент. Буду ждать еще разборы алгоритмов

  • @2difficult2do
    @2difficult2do Před rokem +2

    Хорошая подача и подробное объяснение. Буду заглядывать 😊

  • @user-hg6tn5xn2k
    @user-hg6tn5xn2k Před rokem +4

    шикарно, спасибо за разбор, с первой легко было, а вторая заставила подольше посидеть)

  • @infomail8550
    @infomail8550 Před rokem +6

    Очень классно все объяснил. Супер. Спасибо

  • @goodvin8554
    @goodvin8554 Před rokem +1

    Спасибо за разбор. Хотелось бы почаще.

  • @vasiliypupkin6311
    @vasiliypupkin6311 Před rokem +9

    Дружище, спасибо тебе большое, пока твой разбор лучшее, что я видел в Ютубе для начинающих, разборы очень качественные, может сделаешь чек лист для джунов, что учить и как, спасибо!

  • @user-cy5rq6ig6s
    @user-cy5rq6ig6s Před rokem

    Лучший! Приятно смотреть) Продолжай записывать видео и не забрасывай)

  • @xlv4553
    @xlv4553 Před rokem

    Топ, спасибо большое за такое объяснение, жду новых задач!

  • @RockyTheDog756
    @RockyTheDog756 Před rokem +1

    Одна из лучших подач материала!

  • @oOJIEWAOo
    @oOJIEWAOo Před rokem

    Ура! Ты вернулся! Спасибо тебе за разбор

  • @AnderPython-tw3kp
    @AnderPython-tw3kp Před rokem +1

    Интересная задача. Объяснено довольно доходчиво! Спасибо

  • @lyubov_zhulina
    @lyubov_zhulina Před 10 měsíci

    Если хотите понять деревья, посмотрите это видео 👌 идеально, большое спасибо за столь подробное объяснение 🔥🔥🔥

  • @enitefall
    @enitefall Před rokem +2

    даже я понял после такого понятного объяснения! Супер!

  • @larnikodis1501
    @larnikodis1501 Před rokem +4

    Саня, классный парень без понтов и умный. Так держать! Еще и спортивный.

  • @smileborsh9780
    @smileborsh9780 Před 9 měsíci +3

    Даже ударение в слове «красивее» стоит правильно. 👏🏻💐

  • @Dim4581
    @Dim4581 Před rokem

    Спасибо!) отличный разбор. Интересно увидеть задачу о эффективном наполнении рюкзака

  • @user-pv5jf8vp5b
    @user-pv5jf8vp5b Před 9 měsíci

    Круто! Прям все по полочкам, реально класс! Спасибо👍🙏

  • @_alexanderd
    @_alexanderd Před rokem +2

    Спасибо за разбор задачи!

  • @user-cv1jn5qy4v
    @user-cv1jn5qy4v Před rokem +6

    Очень понравился формат. Сразу оформил подписку. Делай больше таких разборов, и добавляй их в отдельный плейлист на канале =)

  • @FenBender01
    @FenBender01 Před rokem +2

    Отличный разбор. Буду давать эту задачу на собеседованиях :)

  • @vitali5615
    @vitali5615 Před 2 měsíci

    Oh man, it's totally awesome! I checked out a ton of videos, and this one is pure magic. Everything is crystal clear! Thanks a million, bro!

  • @user-kp5og5so7f
    @user-kp5og5so7f Před rokem +1

    Спасибо за понятное объяснение.

  • @zebrasbtl
    @zebrasbtl Před rokem +1

    Просто супер, все просто и понятно!

  • @iforvard
    @iforvard Před rokem

    Максимально понятно все стало, спасибо!

  • @halcyon-s
    @halcyon-s Před rokem +1

    Большое спасибо за урок!

  • @Mexanikkmm
    @Mexanikkmm Před rokem +1

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

  • @yaroslavandreyev4246
    @yaroslavandreyev4246 Před rokem +1

    Очень хорошо объясняете👍

  • @ValkRover
    @ValkRover Před rokem +1

    Послушал с удовольствием. :)
    Удачи!

  • @niyazkhannanov5790
    @niyazkhannanov5790 Před měsícem

    Спасибо! посмотрел несколько роликов - очень доходчиво

  • @acthanger7420
    @acthanger7420 Před 11 měsíci

    Классный урок, очень доходчиво, пасибо))

  • @user-bj1ue3qs4m
    @user-bj1ue3qs4m Před rokem +1

    Хорош, отличное объяснение !

  • @mtigames188
    @mtigames188 Před rokem

    Круто! Спс! С первого раза непонятно, пересмотрю на досуге еще несколько раз)

  • @VasillaRobocraft
    @VasillaRobocraft Před rokem

    Спасибо за ролик! С удовольствием посмотрел

  • @tima-obzor
    @tima-obzor Před rokem +4

    Перешёл по рекам ютюба, подготовился, чаёк заварил. Накануне изучал видео о парадоксах математики и нобелевских лауреатах, доказавших ту или иную теорему. Так сказать был готов к удивляться, и что в итоге??? Теперь я понимаю из за каих специалистов у меня винда лагает)

  • @polinakir2991
    @polinakir2991 Před rokem +2

    Супер! Красавчик!

  • @Lammax2012
    @Lammax2012 Před 11 měsíci

    Отличное объяснение! Just keep going! )

  • @user-wb1bh7sb2x
    @user-wb1bh7sb2x Před rokem +11

    Каждый раз, когда собираюсь менять компанию, готовлюсь к таким задачам как в первый раз, затем на несколько лет забываю, и далее по кругу. Может быть лет 20 назад эти ОСНОВЫ ИЗ ЧЕГО ВСЕ СТРОИТСЯ и нужны были кому-то, сейчас для большиства разработки это вообще мимо. Впервые я изучил это все для собеседования, наверное, после 2х лет работы программистом, и никакого всевидящего ока в мир разработки мне не открылось, прошел собес и забыл, как всегда. С тем пор я поменял 4 компании и 3 страны, и заметил что зачастую на собесах попадаются консерваторы, которые считают, раз им это интересно, и раз они это заботанили, все вокруг должны это знать, и не важно что для проекта это нафиг не нужно, как будто это какие-то невероятные знания, смешно) Знание архитектурного дизайна намного важнее как по мне, потому что ты приходишь в компанию, и твой онбординг сокращается в разы, потому что ты уже скорее всего понимаешь как работает система. А эти стуктуры, достаточно знать что это такое, что такое бывает, и какая структура для чего работает, и для этого не обязательно решать какие-то сложные задачи и разбираться в них до транзиторов. Первая задача еще адекватная, но вторая это по-моему уже перебор, я бы наверное и решать ее не стал, потому что мне это тупо не интересно)

    • @MrOldschoolrocknroll
      @MrOldschoolrocknroll Před rokem +3

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

    • @user-wb1bh7sb2x
      @user-wb1bh7sb2x Před rokem +3

      @@MrOldschoolrocknroll оо подъехали спецы нефармашлепы!
      1) Я написал "А эти стуктуры, достаточно знать что это такое, что такое бывает, и какая структура для чего работает, и для этого не обязательно решать какие-то сложные задачи и разбираться в них до транзиторов. ", с чего ты взял что я "даже тупо не знаю как работает структура данных" и призываю вообще на них забить?
      2) Я написал это в контексте собеседований, что зачастую их спрашивают когда они на проекте вообще не нужны. Если ты курнул и решил "написать своё (более подходящее и масштабируемое решение)", то флаг тебе в руки, никто не скажет тебе что структуры и алгоритмы для них не нужны.
      3) И если ты "не зная как работает структура данных не сможешь оценить и быть уверенным, что нагруженное место не взорвётся в рантайме", то у меня для тебя плохие новости.

    • @MrOldschoolrocknroll
      @MrOldschoolrocknroll Před rokem +3

      ​@@user-wb1bh7sb2x Как же у тебя бомбануло то господи. Я же не конкретно про тебя писал а об индустрии в целом. Но раз ты воспринял всё на свой счёт, то у тебя с этим похоже какие-то проблемы))

  • @saveekglushchenko6903

    Думаю, что Вы хороший человек. Спасибо за видео

  • @Igor-tn7mq
    @Igor-tn7mq Před rokem

    Побольше бы разборов задачек 🔥👍

  • @GrigoriySokolik
    @GrigoriySokolik Před 11 měsíci

    Спасибо за интересный ролик. Удивительно, что решение с рекурсией "проходит".

  • @ChannelYoJo
    @ChannelYoJo Před rokem +1

    Динамическое программирование на деревьях! Крутизна!

  • @seyapanda108
    @seyapanda108 Před 11 měsíci +8

    Спасибо за видео. В случае с деревьями желательно еще уметь решать dfs, bfs итерационно, а не только с помощью рекурсии. Если дерево будет выражено в список, то рекурсия уже не очень хороший вариант решения. Ну и не редко на собесах просят решить итерационно после решения с рекурсией

  • @badcloud
    @badcloud Před rokem

    Ого, поначалу зафтыкал, думал че за сложное объяснение, а на деле несколько строк кода емае. Мужик! Спасибо!

  • @hopelesssuprem1867
    @hopelesssuprem1867 Před rokem +2

    Спасибо за классные видео. Продолжай выпускать задачки по faang

  • @reHgoc
    @reHgoc Před rokem

    спасибо за разбор. Помню как на собеседовании на Unity dev решал задачу через алгоритм Дэйкстры (вглубь и вширь), а оказывается есть более простой способ.

  • @P0dCasts.io6o
    @P0dCasts.io6o Před rokem

    Спасибо. Часть задач на бинарные деревья на лилкоде сделал, а часть отложил. Хотя для макс.пути понимал, что нужна рекурсия.

  • @user-fy6dm6mw9y
    @user-fy6dm6mw9y Před 13 dny

    Спасибо за полезное видео

  • @bass1387
    @bass1387 Před rokem

    Это гениально!!))

  • @NickRossik
    @NickRossik Před rokem +1

    В книге грохаем алгоритмы я не очень понял бинарные деревья, но зато теперь как понял! 😁
    Супер объяснение, спасибо.

  • @TheYozka
    @TheYozka Před rokem +1

    Хорошая подача материала

  • @tsaykostya
    @tsaykostya Před rokem

    Классный канал, автор приятный парень и никакого высокомерия

  • @42jU29Mp
    @42jU29Mp Před rokem +1

    Про Space: O(n) для первой задачи не сразу догадался. Видео хорошее.

  • @luckyiam3532
    @luckyiam3532 Před rokem +1

    Great. Thank you for the explanation. Now trees seems not so terrible...

  • @go8tt
    @go8tt Před rokem +1

    ты классный парень, спасибо за такие ролики С:

  • @Gribozhuy
    @Gribozhuy Před rokem +17

    Вторая задача - все же answer = Integer.MIN_VALUE; Так как в случае с деревом состоящим всего из одного отрицательного желемента - ответ будет 0, а должен быть - само это отрицательное число.

    • @slavakonashkov
      @slavakonashkov Před rokem

      Правильное замечание, но этого не достаточно. В коде, там где max, тоже нужно логику поменять.

    • @Gribozhuy
      @Gribozhuy Před rokem +1

      @@slavakonashkov нет, в остальном все правильно.

    • @tsv83
      @tsv83 Před rokem +9

      Просто решение у автора некорректное. Либо задача поставлена криво. Автор декларирует "дальше не пойдём" но по факту это работает только если отрицательный узел один и сравнивается с мнимым узлом, чьё значение 0. Если у 5 будет не один ребёнок -2, а ещё один, скажем -5 - решение будет несоответствовать задаче.

    • @user-xh1ms1ke6c
      @user-xh1ms1ke6c Před rokem

      @@tsv83 работать будет и с вашим примером, поскольку с нулём сравнивается и helper(node.left) и helper(node.right), который, в свою очередь содержит максимальную сумму дальнейшего пути, то есть, в момент сравнивания уже учитывается, есть ли там что-то дальше, как то с "-3", у которой ребёнок "5"

    • @tsv83
      @tsv83 Před rokem

      @@user-xh1ms1ke6c нет, не будет

  • @BellaLugoshi
    @BellaLugoshi Před rokem +1

    напоминает обучение в автошколе - я купил тонюсенькую книжку с ПДД и учу правила, а остальные накупили разборы билетов и усиленно штудируют их.
    Но да - я потом сел и поехал на своем Заз-968М, а девочки расселись по новым Кайенам. Так что может вы и правы XD

  • @user-vv5jf6iy4j
    @user-vv5jf6iy4j Před rokem +38

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

    • @user-vv5jf6iy4j
      @user-vv5jf6iy4j Před rokem +1

      @@ilya9261 задачи по дп слишком разные. книги раскрывают или совсем базовые задачи, которые не попадутся на собеседовании, или книги написаны исключительно для олимпиадников. потому что как раз из олимпиад эти задачи и вышли. я решил 60(возможно не показатель) задач по дп на литкоде. с барского плеча 10 максимум повторились. но в основном это довольно уникальные задачи, которые чаще всего решаются как по учебнику(рекурсия с мемоизацией, bottom up и может оптимизированное решение) но дойти к рекуррентому соотношению, я считаю, вообще не просто. ну или все вокруг меня слишком умные и им проще решать)

    • @ilya9261
      @ilya9261 Před rokem

      @@user-vv5jf6iy4j а стоп, ну раз ты нарешал 60 задач по дп без подглядываний, то с чего бы ты тупил то на подобных задачах как в видео? она решается проще простого. Либо не интуитивно понимаешь свои же решения, либо хз в чем проблема. 60 не показатель, но уже что-то, не 0 (у меня сейчас меньше и я трудоустроен), продолжай в том же духе)

    • @user-vv5jf6iy4j
      @user-vv5jf6iy4j Před rokem

      @@ilya9261 я перечитал свой коммент и понял, что забыл написать, что я так и не научился решать дп задачи)

    • @ilya9261
      @ilya9261 Před rokem

      @@user-vv5jf6iy4j дак ты же 60 штук решил. Как решал?

    • @Saby1983x
      @Saby1983x Před rokem +3

      @@user-vv5jf6iy4j
      > но дойти к рекуррентому соотношению, я считаю, вообще не просто. ну или все вокруг меня слишком умные и им проще решать)
      Это фигня и в жизни редко пригождается, поэтому примеры довольно вымученные.
      Я программирую 22 года, 10 в качестве хобби и 12 профессионально. Подобные задачи пригодились 3 раза - 2 в качестве хобби (игровой проект) и 1 на работе - тоже игровой, совершенно не типичный проект.
      Мой совет - требуют leetcode? пожелайте счастливого пути и ищите руководителя, который понимает, какие задачи Вы будете писать на работе. Если Вы не пишете AI для игр, то с подобными задачи будете иметь дело раз в пятилетку. Сядете, спокойно продумаете алгоритм (да, вместо 20 минут возможно целый день потратите) - но я Вас уверяю, отлаживать алгоритм и писать подходящие структуры для быстрой его работы (чтобы оно занимало вменяемое время и при этом можно было сохранить вне 1 Гигабайта) - Вы будете писать гораздо дольше.

  • @denvir2254
    @denvir2254 Před 11 měsíci

    Ооооочень подробно объясняешь))
    Прям для младших классов как будто бы

  • @leomysky
    @leomysky Před rokem

    Спасибо за видео
    Не очень понял идею с второй задачей, но суть уловил

  • @imishka
    @imishka Před rokem +23

    Есть у меня смутное предположение что если все значения в дереве будут отрицательными, то maxpathsum выдаст 0, а не мах отрицательный ответ, для этого наверное answer должен быть равен по умолчанию значению самой верхней вершины.

    • @gheoblink8862
      @gheoblink8862 Před rokem +2

      Нет, по условию, мы имеем право взять 0 вершин, так что наш минимум - 0

    • @NoName-hi8bv
      @NoName-hi8bv Před rokem

      Тож так думаю. Что если стоит отрицательное значение, а ниже много положительных

    • @user-bc5nm6fe3m
      @user-bc5nm6fe3m Před rokem

      0 означает, что мы не берем левого\правого ребенка. Но после этого ответ для нашей вершины становится max(left, right) + val. Так что ошибки нет, и ответ может быть отрицательным, если положительных вершин вовсе нет

    • @imishka
      @imishka Před rokem +4

      ​@@user-bc5nm6fe3mэто возвращает функция helper, параллельно она записывает в переменную класса answer (максимум среди answer=0 и тем что вернул helper на данном шаге)
      А далее цель maxpathsum просто вывести эту переменную, соответственно если все отрицательно то answer так и останется 0.
      Выше написали что это вроде как правильно если ничего не брать, но в таких случаях наверное лучше уточнять данный кейс.

    • @michaeldeoz
      @michaeldeoz Před rokem +1

      @@gheoblink8862 разве условие задачи не найти максимальный путь? Если два значения отрицательны не значит что одно из них не может быть максимальным?

  • @HOMEP11
    @HOMEP11 Před rokem +1

    благодарю!

  • @user-xj7te3qs8u
    @user-xj7te3qs8u Před rokem +2

    Лучший ❤ 😊

  • @maksims.3867
    @maksims.3867 Před rokem

    Красавчик!

  • @dimasw99
    @dimasw99 Před 20 dny

    От души братишка, под пиво вечерком посмотреть самое оно!

  • @overskam2699
    @overskam2699 Před rokem +1

    побольше бы таких видео

  • @user-cj1mq9fu3c
    @user-cj1mq9fu3c Před rokem

    Ха-ха. Сегодня защищал лабораторную в универе, плохо сдал, а вот сейчас захожу в ютуб, чтобы найти, под какой видосик покушать, и вижу это! 🤩🤩🤩
    Леди Фортуна, интернет и ютуб, спасибо вам! 😅

  • @sb-dor
    @sb-dor Před měsícem

    Классно!

  • @oleksandrl4136
    @oleksandrl4136 Před 9 měsíci

    Дуже корисний канал. Дякую за Вашу роботу.

  • @golodnenkiy
    @golodnenkiy Před 2 měsíci

    Классные задачи, спасибо автору.
    P. s. Не описать ту радость, когда сначала пытаешься решить задачу, а потом смотришь ролик, где твоё решение совпадает с решением автора.
    p.p.s Только сделать Answer и проверять на max в helper-e, я не догодался, а просто запихивал возможные пути в лист, а потом из него макс брал.

  • @AlexZvukov
    @AlexZvukov Před rokem +2

    Отлично, спасибо. PS: качество подтянул 👍

  • @MVOralov
    @MVOralov Před 7 měsíci

    В T-SQL такие штуки, как практические алгоритмы решения прикладных задач прохождения по Parent-Child иерархиям - реализуется при помощи рекурсивных CTE. Используется, например, для обработки и поддержания товарных справочников в ритейле. Ну а сама суть так же ложится в основу b-tree индексов, которые стараются на уровне их ядра поддерживать баланс «веса» значений детей

  • @danilabagatyriya5737
    @danilabagatyriya5737 Před 6 měsíci

    Когда сидел и не понимал, как решать, а потом сразу понял🙏🏾
    Just do it!

  • @saimonshaplygin7867
    @saimonshaplygin7867 Před rokem +5

    Привет! Саш, спасибо за разборы. У тебя очень хорошо получается. Рассказываешь сложные вещи доступным языком.
    Во второй задачке ошибка при инициализации поля answer. Изначально оно должно быть минус бесконечность. Так как если подать на вход функции дерево с одной вершиной, значение которой равно отрицательному числу. В версии на видео в качестве ответа мы получим 0, а не отрицательное число
    ps. Может быть кто-то уже писал об ошибке, но я не нашел в комментах

    • @alexyevdokimov642
      @alexyevdokimov642 Před 11 měsíci

      И не только инициализация, там вообще с нулем нельзя сравнивать. Надо с минимально отрицательным. С чего автор решил, что понятие максимум это только для положительных чисел. А если там во всех узлах отрицательные value? Уже не будет правильного ответа? Ну а по сути, логика в целом верная. А рекурсия - это все равно зло :)

    • @Game_Pro_
      @Game_Pro_ Před 4 měsíci

      а кем работаешь? просто интересн окакая зарплата@@alexyevdokimov642

  • @user-hc2rx3ge2z
    @user-hc2rx3ge2z Před rokem +1

    Во второй задаче можно использовать центроидную декомпозицию дерева, мне кажется это идейно проще

  • @user-ev7uf3hi2s
    @user-ev7uf3hi2s Před rokem +4

    Как раз вчера в университете начали проходить эти деревья)

  • @tesohi
    @tesohi Před 3 měsíci

    спасибо!

  • @petraveryanov2572
    @petraveryanov2572 Před rokem +1

    Во 2й задаче просто используем два значения - макс. путь в под-дереве и макс. путь в под.дереве, который начинается в корне. Ну и та же рекурсия. То же самое, но мне как-то проще.

  • @user-mi2st3eu3u
    @user-mi2st3eu3u Před rokem +5

    Продолжай, брат )
    У меня ничего не получается на литкоде ))
    Хотя принцип обхода знаю, но сложно уложить стэк в голове ))

    • @user-pg8ry1tm3t
      @user-pg8ry1tm3t Před rokem +1

      Стек на самом деле самая простая структура после массива… можно представить себе тарелку с блинами - ты ж с низу блин не вытащишь и вниз не положишь🥴

    • @user-mi2st3eu3u
      @user-mi2st3eu3u Před rokem +1

      @@user-pg8ry1tm3t да, так-то все понятно ))
      просто когда данные в стеке и тебе надо о них помнить это другое нежели тарелки представить )) это тарелки с данными ))

  • @user-jg7ly1ib2z
    @user-jg7ly1ib2z Před rokem +1

    Спасибо

  • @dreambreaker226
    @dreambreaker226 Před rokem

    Да . столько раз ты это объяснял в элементарном введении в К.М. а они всё равно не понимают и спорят. Пасибо за ролик

  • @eugenefedoryachenko8793

    Я смотрел твои видео чуть больше года назад, получил оффер с релокацией в европу)
    Теперь смотрю твои видео перед собеседованием в яндекс, но в этот раз решил подписаться)

    • @Gr-wv9rb
      @Gr-wv9rb Před rokem

      В Европе не сложилось?

    • @eugenefedoryachenko8793
      @eugenefedoryachenko8793 Před rokem

      @@Gr-wv9rb сложилось, просто яндекс предлагает больше денег, при этом ехать не далеко

    • @melheor4909
      @melheor4909 Před rokem

      Я после его видосов получил офферы на альфа центавру, а второй на Ксандар. Вот думаю куда лететь

    • @eugenefedoryachenko8793
      @eugenefedoryachenko8793 Před rokem

      @@melheor4909 я если что не писал, что я только после его видосов получил оффер, я в процессе подготовки натыкался на его видео, и объяснения мне понравились, даже е смотря на то, что тогда я собесился на позицию мидла в ts, а теперь на позицию синьора в go)

    • @melheor4909
      @melheor4909 Před rokem

      @@eugenefedoryachenko8793 да я понял))

  • @prituladima
    @prituladima Před rokem

    Просто за факт этого видео - лайк

  • @user-ge6pt5lp9u
    @user-ge6pt5lp9u Před 3 měsíci

    Ясность!❤

  • @airestonia
    @airestonia Před rokem

    Очень хорошее видео! Огромное спасибо автору. Обрадовался когда увидел, что код на Java.
    Эх, нам бы вас в нашу команду 😊

  • @AkramAzizmurodov
    @AkramAzizmurodov Před rokem +5

    Спасибо тебе, Саша. На твоем канале очень полезный контент. Хотел бы узнать, ты работаешь как бэкенд Java-разработчик?

    • @sashalukin
      @sashalukin  Před rokem +2

      Рад стараться!
      Всегда работал как Java backend, но сейчас работаю над операционкой Android, делаю фичи для новых версий. Тоже Java/C++.

    • @AkramAzizmurodov
      @AkramAzizmurodov Před rokem

      @@sashalukin Я работаю как Android-разработчик (Java/Kotlin) и хочу изучать Golang для бэкенда. Но я не уверен, является ли это хорошим выбором. Что бы ты посоветовал? Я хочу работать в крупных компаниях и люблю решать алгоритмические задачи.

    • @sashalukin
      @sashalukin  Před rokem +4

      Конкретный язык программирования не имеет значения на собесах в американские айти компании. Надо уметь решать литкод (любой язык программирования на твой выбор) + System Design, если идешь на middle и выше (3+ года опыта работы). Поэтому я бы сфокусировался на этом. Ну и самое главное - начать как можно раньше и как можно чаще проходить собесы. Конкретно сейчас с этим проблема, но из тех что я знаю - booking и uber продолжают нанимать. Напиши 10-20 рекрутерам каждой компании в Linkedin что хочешь устроиться работать к ним, и попробуй получить инвайты на собесы.

  • @user-ur2wn8xv8t
    @user-ur2wn8xv8t Před 10 měsíci

    @sashalukin Вроде решение не работает под кейс, когда у нас root c отрицательным значением и без дочерних узлов.

  • @UnrealSPh
    @UnrealSPh Před rokem +3

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

    • @Jimoshi1
      @Jimoshi1 Před rokem

      Я конечно может чего не понимаю, но разве отрицательные значения не меньше положительных ПО УМОЛЧАНИЮ. Если все вершины отр. то максимальное будет самое меньшее отрицательное.

    • @the__Wizard
      @the__Wizard Před rokem

      @@Jimoshi1 в этом то и прикол, что такое решение не рассмотрено

  • @tastebublik
    @tastebublik Před rokem +1

    Спасибо за разбор, деревья моя ахилесова пята