LeetCode. Ты влюбишься в алгоритмы

preview_player
Показать описание
Если до сих пор думаешь, что алгоритмы — это сложно, непонятно и никому не нужно, то это видео для тебя!
После просмотра у тебя нет шансов не влюбиться в LeetCode)

0:00 Начало
0:27 LeetCode №136. Single Number
8:00 LeetCode №35. Search Insert Position
16:30 LeetCode №83. Remove Duplicates from Sorted List
26:55 LeetCode №110. Balanced Binary Tree
38:33 LeetCode №111. Minimum Depth of Binary Tree
45:14 Финалочка
Рекомендации по теме
Комментарии
Автор

Спасибо большое за видео. Есть вопрос, извиняюсь заранее если глупый.. я не очень понял как прийти к решению в первой задаче (которая #136 Single Number). Как работает оператор XOR в теории я понял, но почему именно он помогает нам получить правильный ответ для меня осталось загадкой. Я был бы очень благодарен чуть более подробному объяснению!

МихаилЧудаков-си
Автор

Я литкодер со стажем, многу сказать, что опытный литкодер - это всегда хорошо, но значимость алгоритмов не надо завышать. Часто бывало, что от меня просто требовали знать биг О, решить вопросы уровня easy и так далее. В глубь отнюдь не стоит погружаться тем, кто не имел никогда дело с программированием и кто хочет найти первую стажировку (понятно, что все зависит от компании). Да, будет неплохо прорешать 50 вопросов, но покуда вы не идете в FAANG, то не стоит переусердствовать с тем, что вам пригодится только на интервью (хотя, безусловно, могу сказать, что эта дрянь логику развивает и ты лучше начинаешь решать проблемы в принципе). Новичку гораздо важнее учить фреймворки и писать проекты, чем решать вопросы на DFS, бинарные деревья и жадные алгоритмы. Выучите массивы, хэшмапы, стэки, поинтеры, может даже слайдинг виндоу, но поберегите свое время и на проекты, которые как по мне куда важнее будут.

Ivan-guu
Автор

Привет! Хорошая подача.
Для проверки дерева на сбалансированность у тебя получилась достаточно высокая сложность, глубина будет считаться множество раз на поддеревьях, которые уже были пройдены при подсчёте глубины. Можно совместить подсчёт глубины с проверкой не нарушилось ли условие, так мы закончим работу сразу если встретим несбалансированное поддерево.

lucidsght
Автор

Спасибо! Если бы еще алгоритмы на питоне были бы, то было бы просто отлично! 😊

galinaorlova
Автор

У нас есть два битА, применяем к ним XOR и получаем УНИКАЛЬНЫЙ, ОТЛИЧНЫЙ ОТ НУЛЯ(кого??) Что ты несешь то вообще такое?

bootstrapers
Автор

Михаил, а Вы не могли бы объяснить поподробнее, почему в данном случае GC вызывает такую реакцию в стиле «без комментариев»? Я новичок и не понимаю, почему это плохая идея. Единственное объяснение, которое я могу предположить, это то, что авторы решений, где использован GC таким условно «читерским» способом, хотели показать, что их решение более оптимально по использованию памяти на LeetCode. Но, в сущности, чем плохо использование GC в этих примерах?

Jahnt
Автор

Что значит 1 0 1? Какое-то интернет приветствие?

Kiyanti
Автор

Полезное видео! Но есть одна ошибка: правильно не Java a JavaScript. Не благодари

igor-volchenok
Автор

Интересно, что на литкоде в решении указывается явно garbage collector))

ainurrn
Автор

Тема алгоритмов конечно крайне бесячья!) Но подача хорошая: тесты, таймкоды! Спасибо, Михаил👍👍👍

МаксМакс-чк
Автор

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

ipasenko
Автор

Забавно как чел, сам еще толком ничего не знающий и жующий хлеб, учит других.

bootstrapers
Автор

Зачем нужны алгоритмы, если все эти задачи с лихвой покрываются и автоматизируются искусственным интеллектом?

mndtr
Автор

Стасян - такой себе пример для подражания.

WounderVaflel
Автор

Ты не влюбишься в алгоритмы, ты их возненавидишь! И да, это сложно, местами непонятно и многим не нужно

RUMACTEP
Автор

Привет, интересное видео, хотим еще разбор задач с лидкода

АйдарИльясов-ты
Автор

currNode = head
while currNode:
nextNode = currNode.next
while nextNode and currNode.val == nextNode.val:
nextNode = nextNode.next
currNode.next = nextNode
currNode = nextNode
return head
Изящнее? да)

yhooi
Автор

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

Все задачки уровня easy. Было бы интересно посмотреть на более сложные. Думаю на собесе такое если и дадут, то только на разогрев. В большинстве случаев дают уровня "медиум"

mainframe
Автор

Все хорошо один вопрос как писать тесты(((. Как понимать что писать?

MikhailBezhaneishvili
Автор

Крутое видео, давай ещё больше видео по leetcode

AntonEdelman