LeetCode Марафон Easy (100 задач)

Поделиться
HTML-код
  • Опубликовано: 16 дек 2024

Комментарии • 239

  • @GlebMikhaylov
    @GlebMikhaylov  2 года назад +31

    Обрати внимание, что доступно полное оглавление! Ну и подпишись на мою Телегу t.me/mikhaylovgleb
    0:13:30 Palindrome Number (divmod)
    0:19:21 Contains Duplicate (hash)
    0:21:42 Remove Linked List Elements (linked list)
    0:33:54 Counting Bits (bitwise)
    0:42:14 Unique Email Addresses (hash)
    0:47:24 Maximum Average Subarray I (sliding window)
    1:00:36 Move Zeroes (two pointers)
    1:08:31 Valid Perfect Square (binary search)
    1:17:13 Add Digits (divmod)
    1:24:06 Student Attendance Record I (string)
    1:30:18 Binary Tree Postorder Traversal (tree)
    1:40:40 Is Subsequence (stack)
    1:47:17 Symmetric Tree (tree)
    2:17:30 Plus One (divmod)
    2:23:56 Meeting Rooms (sorting)
    2:33:45 Middle of the Linked List (linked list)
    2:40:16 Check If N and Its Double Exist (hash)
    2:46:11 N-th Tribonacci Number (dp)
    2:52:58 Binary Search (binary search)
    2:56:28 Pascal's Triangle (dp)
    3:01:11 Single Number (bitwise)
    3:05:48 Peak Index in a Mountain Array (binary search)
    3:19:21 Valid Palindrome (two pointers)
    3:26:55 Reverse String (two pointers)
    3:30:58 Sqrt(x) (binary search)
    3:58:46 Find Numbers with Even Number of Digits (math)
    4:02:33 Find the Difference (hash)
    4:07:34 Remove All Adjacent Duplicates In String (stack)
    4:16:28 Reverse Words in a String III (two pointers)
    4:20:36 First Bad Version (binary search)
    4:26:00 Guess Number Higher or Lower (binary search)
    4:31:21 Search Insert Position (binary search)
    4:33:52 Power of Four (math)
    4:38:37 Valid Anagram (hash)
    4:40:01 Can Place Flowers (array)
    4:47:02 Minimum Depth of Binary Tree (tree)
    4:56:08 Backspace String Compare (stack)
    5:00:13 Linked List Cycle (linked list)
    5:07:32 Power of Two (math)
    5:10:20 Reverse Linked List (linked list)
    5:18:43 Hamming Distance (bitwise)
    5:22:24 Missing Number (hash)
    5:26:06 Binary Tree Paths (tree)
    5:33:15 Convert Sorted Array to Binary Search Tree (tree)
    5:42:28 Merge Two Binary Trees (tree)
    5:58:00 Flipping an Image (two pointers)
    6:06:36 Two Sum II - Input Array Is Sorted (two pointers)
    6:11:40 Verifying an Alien Dictionary (hash)
    6:35:56 Valid Mountain Array (array)
    6:46:17 Roman to Integer (math)
    6:57:20 License Key Formatting (string)
    7:10:11 Assign Cookies (sorting)
    7:21:07 Majority Element (hash)
    7:23:55 Same Tree (tree)
    7:28:22 Binary Tree Inorder Traversal (tree)
    7:34:12 Summary Ranges (array)
    7:48:50 Delete Node in a Linked List (linked list)
    7:52:57 Kids With the Greatest Number of Candies (array)
    7:57:02 Reverse Vowels of a String (two pointers)
    8:01:27 Sum of Left Leaves (tree)
    8:06:10 Add Binary (divmod)
    8:11:58 Longest Palindrome (hash)
    8:32:36 Binary Tree Preorder Traversal (tree)
    8:35:30 Length of Last Word (string)
    8:48:28 Max Consecutive Ones (dp)
    8:53:50 Longest Continuous Increasing Subsequence (array)
    9:00:29 Remove Duplicates from Sorted Array (two pointers)
    9:10:05 Running Sum of 1d Array (array)
    9:11:22 Isomorphic Strings (hash)
    9:19:06 Intersection of Two Arrays (hash)
    9:22:28 Contains Duplicate II (sliding window)
    9:32:21 Merge Two Sorted Lists (linked list)
    9:37:29 Longest Common Prefix (string)
    9:47:16 Two Sum (hash)
    9:48:49 Valid Parentheses (stack)
    9:54:34 Search in a Binary Search Tree (tree)
    9:58:31 Convert Binary Number in a Linked List to Integer (linked list)
    10:10:23 Number of 1 Bits (bitwise)
    10:11:42 Range Sum of BST (tree)
    10:17:30 Maximum Depth of Binary Tree (tree)
    10:19:24 Sort Array By Parity (two pointers)
    10:22:18 Monotonic Array (array)
    10:25:47 Two Sum IV - Input is a BST (tree)
    10:30:25 Average of Levels in Binary Tree (tree)
    10:33:44 Remove Element (two pointers)
    11:02:22 Find All Numbers Disappeared in an Array (hash)
    11:03:49 Implement strStr() (string)
    11:09:41 Invert Binary Tree (tree)
    11:15:34 Closest Binary Search Tree Value (tree)
    11:22:35 Squares of a Sorted Array (two pointers)
    11:25:48 Jewels and Stones (hash)
    11:27:09 Remove Duplicates from Sorted List (linked list)
    11:33:27 First Unique Character in a String (hash)
    11:35:29 Ransom Note (hash)
    11:40:49 Fizz Buzz (math)
    11:43:28 Fibonacci Number (dp)
    11:44:52 Detect Capital (string)

    • @OttoTruePro
      @OttoTruePro 2 года назад

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

  • @Акоп-т2х
    @Акоп-т2х 8 месяцев назад +5

    респект Глебушке посмотрел на одном дыхании очень круто рад что когда то нашел этот канал, теперь алгосы не такие страшные

  • @НастяКуд
    @НастяКуд 2 года назад +40

    Благодаря вашему каналу обучаюсь, все очень доступно и интересно! Очень счастлива что нашла этот канал

  • @yakonick
    @yakonick 9 месяцев назад +1

    Посмотрел всё от и до! Кайф, Глеб, рад, что нашел тебя на ютубе, какой же ты хороший!

  • @ikspb
    @ikspb 2 года назад +21

    Красавчик, очень полезный контент! Найден ещё один бриллиант среди каналов подобной тематики 🥳

    • @manOfPlanetEarth
      @manOfPlanetEarth 2 года назад +2

      о как. тогда делись остальными аналогичными бриллиантами. кроме жеки сулейманова: его уже знаю.

  • @MrLotrus
    @MrLotrus 7 месяцев назад +3

    Начал смотреть в прямом эфире и на сегодня досмотрел только до половины) Использую для подготовки к собеседованиям, когда надо вспомнить как решать алгоритмы. Делать это "вместе с тобой" очень круто. В 22-м ты мне уже помог с успешной подготовкой к собеседованию. Вот сейчас готовлюсь снова)

    • @backend404
      @backend404 8 дней назад

      Здравствуйте, у вас получилось трудоустроиться?

    • @MrLotrus
      @MrLotrus 8 дней назад

      @@backend404 Добрый день, да. Получил 3 оффера. Один внутри компании с переходом с миддла на синьора. На нем и остановился. Не везде спрашивали алгоритмы, но определенно они помогли.

  • @МаксимГилёв-й6й
    @МаксимГилёв-й6й 2 года назад +36

    Посмотрел от начала до конца. Спасибо за такой контент. Теперь я действительно не боюсь easy, который по началу внушал ужас. Успехов тебе во всех дальнейших начинаниях. Ты учишь английский - ты попадешь туда, куда хочешь. Ты крут))

  • @wtfbro9895
    @wtfbro9895 Год назад +7

    офигенно, когда после середины марафона начинаешь решать быстрее Глеба, потом самодовольно думаешь, ну догадается он или нет

  • @ALadInasane
    @ALadInasane Год назад +1

    Приятное повествование, про контент я вообще молчу - пушка, ракета

  • @manuchehrqoriev
    @manuchehrqoriev 11 месяцев назад +1

    Solved 18 in the first day with revieving most frequent answers. Planing to solve all in 5 days. Thanks for such content

  • @ИванЕгоров-в9щ2н
    @ИванЕгоров-в9щ2н Год назад +3

    Клевый стрим. Пытаюсь себя заставить по утрам решать задачки. Когда то давно этот стрим мне попался в рекомендах, и вот сейчас решил его полностью посмотреть. Каждое утро смотрел по чуть-чуть + сам что-то решал после этого.
    Понравилось, что к концу стрима я уже перерешивал какие-то твои решения другими способоми, т.е. базу свою наработал.
    В общем, респект за стрим, буду смотреть медиум!

  • @andreymorozov1028
    @andreymorozov1028 2 года назад +6

    Глеб, Благодарю за такие усилия и качественный контент! Пожалуйста, продолжай!

  • @РусланМукашев-н6м
    @РусланМукашев-н6м Год назад +1

    Мужик, ты просто лучший! )) задача про Verifying an Alien Dictionary мерзость еще та

  • @LifterAndy
    @LifterAndy 2 года назад +1

    Это уму не постижимо! Теперь с уверенностью можно сказать - Глеб, это Елбасы DS!

  • @feD0s
    @feD0s Год назад +1

    Глеб, это было классно! Спасибо! Перехожу с тобой к middle

  • @katesenko9524
    @katesenko9524 Год назад +5

    Прорешала все задачки по списку Глеба, параллельно посматривала стрим, кайфанула. Спасибо большое за материал. Теперь не так страшно идти на собесы ❤

    • @404Negative
      @404Negative Год назад

      так это не "порешала". вставила готовые решения, как свои.

    • @IGODX
      @IGODX Год назад

      @katesenko9524 Как успехи? Устроилась?

    • @heybeachMIN
      @heybeachMIN 9 месяцев назад

      @@404Negative она возможно сначала пыталась сама решить и потом уже смотрела решение Глеба.

  • @sergeiivanov5739
    @sergeiivanov5739 Год назад +2

    Thank you very much! That is awesome addition to learning programming languages such as Java, Python, TS, and Rust. I love this video! Keep it up!

  • @petyap7600
    @petyap7600 2 года назад +16

    Марафон улетный. Просто топ! Ничего подобного не видел.
    И обратите внимание на таймкоды! Обычно в описание никто не смотрит.
    Спасибо!
    п.с. Глеб, продублируй таймкоды в сообщении и закрепи. Что-то мне подсказывает, так будет лучше.

    • @titanovsky
      @titanovsky 2 года назад

      У бороды было)

    • @petyap7600
      @petyap7600 2 года назад

      @@titanovsky ХЗ кто это такой. Название канала скажи

    • @titanovsky
      @titanovsky 2 года назад

      @@petyap7600 не знать IT бороду?)

    • @petyap7600
      @petyap7600 2 года назад

      @@titanovsky А почему я его знать должен? Их куча этих каналов с бородачами.
      Посмотрю потом что за марафон у него.

    • @Lino-san
      @Lino-san Год назад

      ​@@titanovskyЯ смотрю ITБороду, но алгоритмов у него не видел. Я ничего не утверждаю, может просто пропустил.

  • @mimokrokodl
    @mimokrokodl 2 года назад +1

    Просто топ!
    Выпало в рекомендациях и залип.

  • @3agoskin
    @3agoskin 2 года назад +4

    Глеб, спасибо за марафон! Буду использовать для наращивания задач и как вводный для литкода

  • @andviktor
    @andviktor Год назад +1

    Очень полезный материал, спасибо огромное!

  • @kafychannel
    @kafychannel Год назад +2

    Досмотрел, крутяк! Огромное спасибо за такой контент)

  • @artsemkonashchenko6587
    @artsemkonashchenko6587 8 месяцев назад +1

    Крутой контент, подписался, а почему больше подобных стримов нет?

  • @maratshafikov5726
    @maratshafikov5726 2 года назад +1

    Спасибо большое, видео то что надо чтобы войти в понимание задач. Очень выручило

  • @palms1990
    @palms1990 2 года назад

    Видос, я тебя таки досмотрел! За 2 недели!!! ))) Спасибо за контент!

  • @kafychannel
    @kafychannel Год назад +1

    Глеб, спасибо большое, неделю назад начал решать Литкод, вот с тобой здесь сижу)

  • @MsNameness
    @MsNameness 2 года назад +1

    спасибо, нужно бооольше таких видео, в свободное время по минут 10-20-30 смотрю, решаю задачки в уме, потом смотрю твое понятное решение, какие то фишки в коде почерпываю, жду аналогично на медиум уровне :)
    еще предложение по стриму, сделай вебку не круглой а квадратной/прямоугольной (браузер прямоугольный, чат прямоугольный, а твоя вебка круглая, по углам от круга много пространства, плюс вебка залезает чуть-чуть на чат и браузер) :)

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад +1

      Спасибо! Я тоже на счет вебки уже в этом направлении думал по тем же критериям)

  • @ИльяВологдин-б1и
    @ИльяВологдин-б1и 2 года назад +1

    Мужчина крепчайший.

  • @cathynest459
    @cathynest459 2 года назад

    Такой человек позитивный. Я обычно на задачах с тикающим глазом 😂. От комментариях просто не могла остановиться улыбаться порой… «что можно сделать вот с этой вот дрянью»

  • @scaldbrotten4373
    @scaldbrotten4373 Год назад

    Спасибо, понял, почему задача с нулями у меня не проходила!

  • @toms_ekb
    @toms_ekb 2 года назад

    6:35:56 Valid Mountain Array (array)
    1) Склоном считается линия горы из трёх точек, концы которой одна выше, а другая ниже середины.
    2) В правильной горе все линии кроме одной будут являться склонами.
    3) Просто берём и считаем количество линий, не являющихся склонами.
    P.S. А также нужно исключить ущелье.

    • @toms_ekb
      @toms_ekb 2 года назад

      По моему, это должно работать (за синтаксис не ручаюсь):
      count = i = 0
      while i < len(arr) - 2:
      i += 1
      if arr[i-1] > arr[i] < arr[i+1]:
      return False
      if arr[i-1] = arr[i+1]:
      count += 1
      return count == 1

  • @BuffyKek
    @BuffyKek Год назад

    Спасибо за хороший список задач, обязательно решу их

  • @bauyrzhannurimbetov6330
    @bauyrzhannurimbetov6330 Год назад

    шикарно читаешь на английском. Тот момент когда я его слушаю и понимаю не глядя на текст.

  • @aa.alexey
    @aa.alexey Год назад

    Очень классный формат)
    Спасибо)

  • @manuchehrqoriev
    @manuchehrqoriev 10 месяцев назад

    Vozhak vsekh leopardov, Kharoshiy uchitel, luchshiy mentor, Monstrov Monster Monstereovich, Leetcode Hunter ... prosta Khoroshiy chelovek.
    Spasiba Gleb za vsyo.
    Udachi tebe v zhizni, v rabote + ... = vo vsem !!! 🐅🐅🐅🐅🐅 🫡🫡🫡🫡🫡🙏🙏🙏🙏🙏

  • @siarheibelko8457
    @siarheibelko8457 2 года назад

    Спасибо большое за марафон) Респект за такое)

  • @curtcrawford5158
    @curtcrawford5158 11 месяцев назад +1

    По ходу прохождения марафона Глеб постепенно превращался в хеллбоя)) если смотреть на красноту лица

  • @НикитаШокуров-н3д

    за видео огромнейший лайк, именно благодаря этому каналу я стал активно решать литкод и что-то начало получаться
    но
    на 4:18:43
    вот мне прям не нравится такое решение, оно читерское какое то, со всеми этими Сплит...
    Вот так чисто алгоритмически:
    class Solution:
    def reverseWords(self, s: str) -> str:
    stopper = 0
    driver = 0
    new_s = []
    for driver in range(len(s)):
    if (s[driver] == ' ') :
    checkpoint = driver
    while stopper < driver:
    new_s.append(s[driver-1])
    driver -= 1
    new_s.append(' ')
    stopper = checkpoint + 1
    driver = checkpoint
    if (driver + 1 == len(s)):
    while stopper

  • @titanovsky
    @titanovsky Год назад

    оох, пасибки за такое) Как раз скоро начну заниматься Leetcode)

  • @bunnyrin
    @bunnyrin Год назад

    Спасибо за ваш труд! Дошла до конца, теперь приступаю к Middle, жду Hard 😎 Надеюсь, что расту потихоньку.

  • @rooner
    @rooner 10 месяцев назад +1

    Начало задач на 13:35

  • @toms_ekb
    @toms_ekb 2 года назад

    2:23:56 Meeting Rooms (sorting)
    1) Отсортировать вложенные списки.
    2) Склеить все списки в один.
    3) Проверить, изменится ли список, если его отсортировать теперь.

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      Норм! А закодил? Если будешь кодить, то скинь ссылку на свой submission, интересно посмотреть

    • @toms_ekb
      @toms_ekb 2 года назад

      @@GlebMikhaylov, если б я умел )

    • @toms_ekb
      @toms_ekb 2 года назад

      На Javascript, если не ошибаюсь, можно так:
      arr.sort()
      arr.flat()
      return (arr == arr.sort())
      В синтаксисе не уверен, скобки наугад ставлю )) Практики ноль, поэтому чтобы хоть что-то написать - мне обычно приходится гуглить каждый оператор, как он там правильно оформляется.

    • @toms_ekb
      @toms_ekb 2 года назад

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

    • @toms_ekb
      @toms_ekb 2 года назад

      Насчёт Submission - спасибо за веру в меня, я попробую зарегистрироваться :)

  • @tyazhely_4elov3k
    @tyazhely_4elov3k 2 года назад

    Спасибо за марафон!

  • @ИльяВологдин-б1и
    @ИльяВологдин-б1и 2 года назад

    Даешь качественный контент! Программирование в массы. Штурм leetCode.

  • @NikiforovJava
    @NikiforovJava 2 года назад +1

    Чувак, ты крут!

  • @kirillponom2774
    @kirillponom2774 Год назад

    C кайфом, спасибо. Хотелось бы вживую как-нибудь помарафонить с королём леопардов.

  • @dmitrymedvedd
    @dmitrymedvedd 2 года назад +4

    Спасибо за марафон. Жаль, что не 24 часа

  • @alexeyastakhov5137
    @alexeyastakhov5137 2 года назад

    Шикарный марафон! Очень жалко что так мало лайков.

  • @sergeygnezdilov4019
    @sergeygnezdilov4019 Год назад

    Топчик. Полезно

  • @jenik6210
    @jenik6210 Год назад

    Спасибо большое

  • @badimales
    @badimales 4 месяца назад

    Спасибо!

  • @manuchehrqoriev
    @manuchehrqoriev 11 месяцев назад

    Well done, keep it up

  • @qulinxao
    @qulinxao Год назад

    по 101:
    var isSymmetric = function(root) {
    function m(a,b){
    if(!a&&!b)return true
    if(!a||!b)return false
    if(a.val!=b.val)return false
    return m(a.left,b.right)&&m(a.right,b.left)
    }
    return m(root.left,root.right)
    }
    на питоне аналогично - в некотором смысле это тоже задача на два указателя

  • @gleb2971
    @gleb2971 10 месяцев назад +1

    Глеб: "-Если мы будем так решать, то стрим продлится 9 часов"
    Я, который видит, что запись - 12 часов: 😏

  • @maxdzyubak
    @maxdzyubak 2 года назад

    Глеб, красава!

  • @ПавелК-ю9э
    @ПавелК-ю9э Год назад

    По минимальному квадрату числа и делению на 2.
    Это 2 в степени 2 в худшем случае.
    Во всех остальных больше делить можно.
    Если от 3, то сразу на 3 делить можно начальную длину.

  • @Martinikaable
    @Martinikaable Год назад

    Давно не было марафонов

  • @gr33nh0us3-curiosity
    @gr33nh0us3-curiosity 11 месяцев назад

    1:19:25 Для людей, знающих теорию сравнений и признак делимости на 9, это доказательство проводится в 2 строчки

  • @КаналКупера-л6в
    @КаналКупера-л6в 11 месяцев назад

    на 41:13 вообще не могу понять как работает этот алгоритм, может ктото обьяснить

  • @zergzerg4844
    @zergzerg4844 10 месяцев назад

    27:21 А почему в этой задаче вы говорите про рекурсию , если просто циклом проходите по листу? Рекурсивный обходы это когда функция вызывает саму себя, разве не так?

  • @bola1101
    @bola1101 2 года назад +1

    спасибо!

  • @eugenmorozov9738
    @eugenmorozov9738 2 года назад +6

    Замечательный контент! Спасибо огромное! Можно ли эту запись 24/7 запустить? Это же первый в мире алгоритмический канал будет, с постоянным бомондом 🐆🐆🐆

  • @boytsovevg6132
    @boytsovevg6132 2 года назад +1

    832. Flipping an Image
    Прикольно можно инвертировать было через xor
    function flipAndInvertImage(image: number[][]): number[][] {
    return image.map(row => row.reverse().map(b => b ^ 1));
    };

  • @boytsovevg6132
    @boytsovevg6132 2 года назад

    643. Maximum Average Subarray I
    В задаче в первом подходе квадратичное время из-за функции sum, т.к она считает, проходя по всем элементам очереди

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад +1

      Оно не квадратичное на самом деле, т.к. очередь у нас фиксированной длины, но все равно не константное, а зависит от k (не от n). Получается O(n*k).

    • @boytsovevg6132
      @boytsovevg6132 2 года назад

      @@GlebMikhaylov да, согласен

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      Ну и так же это скорее медиум задача, а не изи

  • @NameXss
    @NameXss 10 месяцев назад

    56:53 первое решение *Maximum Average Subarray* там же *Time Complexity* в худшем случае O(nk) или O(n^2) если k = n, т.е. нелинейное, т.к. ты каждый раз считаешь сумму очереди?

  • @umni_kot
    @umni_kot 8 месяцев назад

    Глебас, я слежу за твоим литкодом)) ты в крысу решаешь задачи🤣 . Давай еще один марафон такой же. Пожалуйста ))) Твои объяснения очень сильно помогают изучать алгосы. Думаю я такой не один кто хочет еще марафон. Давай мы тебе скинемся донатами или еще как-то забайтим на такой движ) чтобы не за просто так

    • @GlebMikhaylov
      @GlebMikhaylov  8 месяцев назад +1

      Лол!)) Спалился) Я работаю над содержанием курса по алгосам. Спасибо за теплые слова! Марафон пока не планирую, но курс кажется увидит свет в ближайшем будущем)

    • @umni_kot
      @umni_kot 8 месяцев назад

      @@GlebMikhaylov эх жалко. Ну ладно ждем курс)

  • @Andriy_Omelia
    @Andriy_Omelia Год назад

    Подскажи как реализовать загрузку в гугл ексель? Как сделать?

  • @madikhan-only
    @madikhan-only 2 года назад

    лучший

  • @rebbachandrasekhar363
    @rebbachandrasekhar363 2 года назад

    thanks for explaoning in russian

  • @goldfix8112
    @goldfix8112 Год назад +1

    День за днем я смотрю это видео, когда-то полчаса, когда-то час. Однажды я прилег на диван и уснул, было трудно найти место на котором я вырубился. Я увеличиваю свою насмотренность и знаю, что следующий день не будет пустым так как видео все еще не досмотрено, я купил 30 банок энергетиков по скидке, я встаю с кровати, открываю баночку и начинаю смотреть. Моя язва в моем желудке прогрессирует точно также как и насмотренность на алгоритмы, затем я иду решать самые простые задачки на литкоде и кодварсе, ведь за две недели изучения питона на большее претендовать сложновато. Я знаю, что однажды я досмотрю, но не унываю, ибо есть еще один марафон на задачки посложнее, но что случится когда я досмотрю и его... Об этом думать так же страшно как и методах лечения прогрессирующей язвы.

  • @Лёа-г2к
    @Лёа-г2к Год назад +2

    с утра столько делаю

  • @aloYoba
    @aloYoba Год назад

    Огромное спасибо за видео! Не понятен момент на 9:52:20, что значит "if stack"?

    • @GlebMikhaylov
      @GlebMikhaylov  Год назад +1

      if stack вернет True есть список stack не пустой, и False если он пустой

  • @Dmitriitube
    @Dmitriitube Год назад

    19:40 пример с борщом гениальный, а то мне показалось, что решить многие задачи с лёту выглядит нереалистичным, если не знаешь определенные паттерны, алгоритмы и хитрости, но если изучить, что пишут в обучающем разделе или решения, то появляется понимание.
    Мне вот интересно постоянно, эти задачки придумывают под конкретные подходы решения или была сначала задача, а решения люди находят потом? :)

  • @uss3ewa
    @uss3ewa 2 года назад

    в теории Valid anagram по acsi(в питоне наверн utf) коду можно проxorить, да? за линию по индексам

  • @baileysli6235
    @baileysli6235 6 месяцев назад

    19:02 Ну почти)

  • @nkjhk9772
    @nkjhk9772 10 месяцев назад

    как в первой задаче работает "new=new*10+d"?
    Мы же прибавляем массив к числу, как это работает?

    • @GlebMikhaylov
      @GlebMikhaylov  10 месяцев назад

      Нет, это не массив! New это новое число, которые мы потихоньку делаем. Мы прибавляем число к числу

    • @nkjhk9772
      @nkjhk9772 10 месяцев назад

      ​@@GlebMikhaylov Спасибо за ответ. Я понимаю что d=divmod, а divmod у меня выдает массив из 2 чисел, полное деление и остаток.

    • @GlebMikhaylov
      @GlebMikhaylov  10 месяцев назад

      @@nkjhk9772 А понял! Обрати внимание, что я сразу этот массив распаковываю в две отдельные переменные: x и d. И таким образом у меня только числа и нет массивов

    • @nkjhk9772
      @nkjhk9772 10 месяцев назад

      @@GlebMikhaylov всеее, понял. Премного благодарствую)

  • @ИльяВологдин-б1и
    @ИльяВологдин-б1и 2 года назад +1

    1:33:00 дизы можно обратно включить через расширение.

  • @Неизвестный_07
    @Неизвестный_07 Год назад

    Здравствуйте. Не подскажете какие задачки начать делать на data scientistа, я еще не решал на литкоде?

    • @GlebMikhaylov
      @GlebMikhaylov  Год назад +1

      Привет! Никакие). Эти задачи нужно учиться решать если собираешься на собесы, где их спрашивают, например в Гугл, амазон, яндекс и т.д. Просто так их учиться решать не надо, если только для собственного удовольствия.

    • @Неизвестный_07
      @Неизвестный_07 Год назад

      У меня просто есть такая проблема, что я вроде понимаю, что написано, но сам так написать не могу, не считая прям совсем банальный код. Поможет ли решение задач на литкоде исправить ситуацию?

  • @OttoTruePro
    @OttoTruePro 2 года назад

    3:05:48 Peak Index in a Mountain Array (binary search) - уже поменяли статус на medium :О

  • @qrthack
    @qrthack 11 месяцев назад

    Привет, у меня такой вопрос, коммерческого опыта нет, знаю C, Python, люблю Computer Science. Хочу в backend, выбираю между Python, Java, C#, Golang что посоветуете, чтобы легче было устроиться на работу?

    • @GlebMikhaylov
      @GlebMikhaylov  11 месяцев назад

      Учитывая, что python уже имеется, то для ускорения процесса нахождения работы лучше с ним и продолжать.
      Также добавлю, что выбор технологии (и профессии) не стоит делать только основываясь на то, что уже знаешь и на спрос на рынке. Нужно обязательно учитывать и личные предпочтения! Что больше нравится? К чему лежит душа? Это очень важный фактор для выбора того, чем хочешь заниматься.
      Чтобы выбрать нужно анализировать комплекс факторов: личные предпочтения, текущие знания, текущую жизненную ситуацию, состояние рынка.

  • @uranproject
    @uranproject 11 месяцев назад

    бредор, с коллегой около ста набрали на изи.. на выходе, что дает этот тест, зачет для UpWork?

  • @heybeachMIN
    @heybeachMIN 9 месяцев назад

    А выйдет ли у Вас курс по алгоритмам? И если да то когда?

    • @GlebMikhaylov
      @GlebMikhaylov  9 месяцев назад +1

      Да, все-таки хочу его сделать! Надеюсь что в этом году)

    • @heybeachMIN
      @heybeachMIN 9 месяцев назад

      @@GlebMikhaylov буду ждать)

    • @heybeachMIN
      @heybeachMIN 9 месяцев назад

      @@GlebMikhaylov Не подскажешь, пожалуйста, в этой задаче - 3:05:48 Peak Index in a Mountain Array (binary search)
      Я написал такое решение
      def peakIndexInMountainArray(self, arr: List[int]) -> int:
      middle = len(arr) // 2
      while middle < len(arr):
      if arr[middle] > arr[middle-1] and arr[middle] > arr[middle+1]:
      return middle
      elif arr[middle] < arr[middle-1]:
      middle = middle - 1
      else:
      middle = middle + 1
      Алгоритмическая сложность этого решения O(n) ? Или всё же O(logn)
      Я просто ещё только изучаю алгоритмы и мне сложно иногда определить сложность. Тем более бинарный поиск написать.
      P.S. Спрашивал у ChatGPT, он написал что O(logn), но я ему не доверяю))

    • @GlebMikhaylov
      @GlebMikhaylov  9 месяцев назад +1

      @@heybeachMIN Я не вижу чтобы в while ты делил на 2 и тем самым уменьшал пространство поиска вдвое на каждом шаге. У тебя просто отнимается или прибавляется единичка. И поэтому это линейное время, а не логарифмическое

    • @heybeachMIN
      @heybeachMIN 9 месяцев назад

      @@GlebMikhaylov а я короче подумал, что типа пик же всегда по середине, и одноразовое деление на два должно хватить, а там просто уменьшать и прибавлять)

  • @manuchehrqoriev
    @manuchehrqoriev 10 месяцев назад

    Thanks💯💯💯

  • @boytsovevg6132
    @boytsovevg6132 2 года назад

    392. Is Subsequence
    кстати, тут очередь подошла бы больше. Идем в том же порядке и проверяем первый в очереди. И реверсить не нужно стек

  • @ИванГончаров-ц8й
    @ИванГончаров-ц8й 2 года назад

    Ваще огонь!, Глеб, когда следующий такой марафон планируешь?, хочу тоже в режиме онлайн попробовать =))

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад +1

      Следующий скорее всего будет марафон sql задач на LeetCode. Ну и к мидл марафону по алгосам тоже потихоньку готовлюсь)

    • @ИванГончаров-ц8й
      @ИванГончаров-ц8й 2 года назад

      @@GlebMikhaylov тоже интересная тема!, я вот пока не могу приноровиться к sql задачам на LeetCode, очень не удобный там вывод результата!, пока только easy problem получается.
      Будет очень интересно с тобой порешать, посмотреть твои лайвхаки!=), маякни как что)))

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      @@ИванГончаров-ц8й Да, вывод результатов для sql на Leetcode это ад))

  • @pavel2195
    @pavel2195 2 года назад

    Прикол, Peak Index in a Mountain Array перевели в medium. Это как происходит?

  • @manuchehrqoriev
    @manuchehrqoriev Год назад

    thanks

  • @eugenefedoryachenko8793
    @eugenefedoryachenko8793 2 года назад +1

    Если честно ненавижу такие задачки и совершенно не понимаю зачем люди на них тратят время, но интересно посмотреть на видео)

    • @sovaz1997
      @sovaz1997 2 года назад

      Из спортивного интереса. Да, для реальной работы они не нужны и там в большей степени нужны другие навыки

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад +1

      В ведущие IT компании России и мира не нанимают без навыка решения таких задач: они используются для отбора кандидатов. Такова реальность, а насколько они полезны в самой работе это в данном случае не важно, т.к. без них не будет работы (в крупной и известной IT компании).
      Ну и второй момент, если втянуться в эти задачи, то это довольно прикольно и оказывает положительный эффект на мозг, как фитнес. Я вот их раньше тоже ненавидел, а сейчас полюбил и получаю от них удовольствие).

    • @eugenefedoryachenko8793
      @eugenefedoryachenko8793 2 года назад

      @@GlebMikhaylov Про крупные компании я не согласен, с остальным согласен)
      Что можно считать крупной компанией?)
      Например я разрабатывал аналитический софт для пепсико, аддидаса и для американских страховых компаний.
      Сейчас я строю систему аналитики для одного из поставщиков самоката и на основной работе разрабатываю микросервисы для криптокомпании.
      Являются ли они крупными? Думаю, что да)
      За 4 года коммерческой разработки у меня спрашивали за алгоритмы только на позицию джуна)
      В гугл, амазон и фейсбук я не пойду из-за внутренних своих убеждений, и знаю что там уже дрочево)

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад +1

      @@eugenefedoryachenko8793 Я имел в виду как раз всякие FAANG и прочие)

  • @boytsovevg6132
    @boytsovevg6132 2 года назад

    Глеб, расскажи, что такое dp type в этих задачах?

  • @rpogontsev
    @rpogontsev 2 года назад +2

    В FAANG любят задачки аналогичные литкоду

  • @just__did__it
    @just__did__it 2 года назад

    Если прорешать все эти задачи, то секцию на алгоритмы в Яндексе можно будет пройти?

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      Нет, это easy задачи, скорее это подготовительный этап. Секция алгоритмов в Яндекс это как минимум medium. По medium тоже будет марафон, ближе к новому году думаю). А может быть раньше).

    • @just__did__it
      @just__did__it 2 года назад

      @@GlebMikhaylov а на счет секции алгоритмов на собеседовании на стажёра вы ничего не знаете? Какой там уровень? Как easy на leetcode?

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      @@just__did__it Я думаю, что скорее всего там тоже минимум medium, т.к. алго секция она на всех уровнях (от стажера до синьора) плюс минус одинаковая. И со стажера на самом деле кроме алгоритмов спросить нечего, поэтому там и норм уровень требуют.

    • @just__did__it
      @just__did__it 2 года назад

      @@GlebMikhaylov я на вашем канале впервые. Как я понял, у вас также есть видео с задачами уровня medium и hard?

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      @@just__did__it Пока еще нет, вот только планируется следующий medium марафон пока). У меня много тестовых по дс, аналитике и sql, среди них есть сложные, но это совсем другое, это не алгоритмы

  • @osvab000
    @osvab000 2 года назад

    Поставлю много плюсиков: ++++++++++++++++++++++++++++++++++++++++++++++

  • @uss3ewa
    @uss3ewa 2 года назад

    ну что, как там, ты понял когда в бин поиске < а когда

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      Ну лучше всегда ставить

    • @uss3ewa
      @uss3ewa 2 года назад

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

  • @olegpol1440
    @olegpol1440 2 года назад

    Глеб а на кодворс какой уровень у тебя ?

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      До кодворса не доходит дело, я на литкоде тренюсь и еще немного на algoexpert: взял его т.к. там задачи отборные

  • @НикитаШокуров-н3д

    6:06:24
    можно еще ксором 1 инвертировать, чисто по хакерских будет, без нубовских ифов
    ps:у Глеба же и научился этому

  • @sergeyv1534
    @sergeyv1534 2 года назад +1

    31:20 Жирный «+» за курс по алгоритмам в планах.

  • @ypohut1673
    @ypohut1673 10 месяцев назад

    Это питон?

  • @jokkeutinkerino3785
    @jokkeutinkerino3785 2 года назад

    Как сделать тёмный режим на leedcode?

    • @GlebMikhaylov
      @GlebMikhaylov  2 года назад

      Это надстройка для Хрома darkreader

  • @caffeinejavacode1475
    @caffeinejavacode1475 Год назад

    Нормально если даже easy тяжело решать. Когда стоит искать готовый ответ, если сам уж не можешь?

    • @caffeinejavacode1475
      @caffeinejavacode1475 8 месяцев назад

      спасибо

    • @GlebMikhaylov
      @GlebMikhaylov  5 месяцев назад

      @@caffeinejavacode1475 Привет! Смотрел вручную коменты и увидел твой). То что тяжело решать easy это абсолютно нормально! Когда учишься, то нужно начинать с того, чтобы смотреть на готовый ответ, и уже потом кодить. Твоя ощуение выглядит следующим образом: 80% разбор решения и их имплементация, 15% перерешивание известных тебе задач, 5% попытки решить новые самому

  • @dimasmir03
    @dimasmir03 Год назад

    Говоришь нужно учиться решать. А вот если смотреть видео с решением задачи и его самим писать тут же, то это нормальное обучение или прям стоит самим сидеть, даже тупить но решить своим умом?

    • @GlebMikhaylov
      @GlebMikhaylov  Год назад +1

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