logo
Tarasov
Тарасов
logo
0
подписчиков
0 ₽
в месяц
?
«Мгновенная выручка» проекта за последние 30 дней с точностью до часа. Из-за подсчета в реальном времени эта цифра постоянно меняется как в большую, так и в меньшую сторону. Настоящий заработок проекта за календарный месяц обычно бывает выше.
Tarasov  Тарасов
Публикации Уровни подписки Контакты О проекте Фильтры Метки Статистика RSS Контакты Поделиться
О проекте
Всем привет. Меня зовут Алексей Тарасов, я преподаватель курсов по программированию. На этом проекте описываю решения задач для собеседований и задач, которые вызвали интерес, пишу обзоры очередных возможностях языка программирования (в приоритете JS/TS/Python/PHP), или рассказываю о смелом эксперименте и делюсь рассуждениями.
Публикации, доступные бесплатно
Уровни подписки
Исследователь (Explorer) 600 ₽ месяц

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

Оформить подписку
Исследователь PRO 1 100 ₽ месяц Осталось 10 мест
Доступны сообщения

Кроме возможностей уровня "Исследователь", этот уровень даёт возможность раз в месяц отправить свой вопрос (или задача) по теме проекта, на который будет дан/опубликован ответ в течении месяца.

Оформить подписку
Фильтры
Статистика
0 ₽ в месяц
Обновления проекта
Читать: 4+ мин
logo Tarasov

🌲 Обратный обход бинарного дерева: рекурсивные и итеративные подходы

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

Представьте, что вам нужно осмотреть все комнаты в доме, заглянув сначала в самые дальние углы, затем в коридоры и только потом вернуться к входной двери. Именно так работает обратный обход (postorder) бинарного дерева - мы сначала посещаем всех "детей" (левый и правый узлы), а только потом их "родителя".

Читать: 5+ мин
logo Tarasov

🌳 Оптимизация соединения деревьев: максимизация целевых узлов

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

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

Читать: 4+ мин
logo Tarasov

👉Разница сумм: делимые и неделимые числа в диапазоне

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

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

Читать: 5+ мин
logo Tarasov

🏙 Анализ цветовых путей в ориентированном графе: поиск максимальной частоты цвета

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

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

Читать: 3+ мин
logo Tarasov

📜 Обход бинарного дерева: прямой порядок (preorder traversal)

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

Представьте, что вы исследуете генеалогическое древо семьи. Сначала вы записываете себя, затем своих родителей, затем их родителей и так далее. Это и есть прямой обход (preorder) - сначала корень, затем левое поддерево, потом правое. В программировании такой подход часто используется для работы с древовидными структурами.

Читать: 4+ мин
logo Tarasov

✂️ Собираем палиндром из двухбуквенных слов: алгоритм и оптимизация

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

Представьте, что у вас есть набор двубуквенных карточек ("ab", "ba", "cc" и т.д.), и вам нужно составить из них самый длинный палиндром - слово, которое читается одинаково слева направо и справа налево. Как найти оптимальное решение? Давайте разберёмся!

Читать: 5+ мин
logo Tarasov

🛠️Как перестроить связный список: задача Reorder List

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

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

Читать: 4+ мин
logo Tarasov

🐢 Как найти начало цикла в связанном списке: алгоритм черепахи и зайца

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

Leetcode-задача "142. Linked List Cycle II" усложняет требования задачи "141 Linked List Cycle".
Если вы не рассматривали задачу "141 Linked List Cycle", то представьте, что вы бегаете по круговой дорожке стадиона с другом. Если вы бежите быстрее, то рано или поздно догоните его. Именно так работает алгоритм Флойда ("черепахи и зайца") для обнаружения циклов в связанных списках. Эта задача часто встречаетс

Читать: 3+ мин
logo Tarasov

🐢🐇 Как обнаружить цикл в связном списке: алгоритм Флойда (черепахи и зайца)

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

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

Читать: 2+ мин
logo Tarasov

🦌 Поиск слов, содержащих заданный символ: простое решение

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

Представьте, что у вас есть список слов, и вам нужно быстро найти все слова, где встречается определённая буква. Например, из списка ["яблоко", "банан", "апельсин"] найти все слова с буквой "а".

Читать: 3+ мин
logo Tarasov

Разбиение строки на слова из словаря: все возможные варианты

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

Представьте, что у вас есть строка без пробелов, например "catsanddog", и словарь слов ["cat","cats","and","sand","dog"]. Задача - найти все возможные способы разбить строку на слова из словаря, добавляя пробелы. Например: "cats and dog" и "cat sand dog".

Читать: 4+ мин
logo Tarasov

🌳 Максимизация суммы значений узлов дерева с помощью операций XOR

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

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

Читать: 4+ мин
logo Tarasov

Оптимизация запросов на преобразование массива в нулевой: leetcode 3362

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

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

Читать: 4+ мин
logo Tarasov

Преобразование массива в нулевой: алгоритм проверки выполнимости запросов: leetcode 3355

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

Представьте, что у вас есть ряд чисел, например [4,3,2,1], и вам нужно обнулить их, выполняя операции: на каждом шаге можно выбрать любой поднабор чисел в заданном диапазоне и уменьшить их на 1. Задача состоит в том, чтобы определить, можно ли полностью обнулить массив, используя только заданные диапазоны операций.

Читать: 4+ мин
logo Tarasov

👍 Разбиение строки по словарю: leetcode 139

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

Представьте, что у вас есть строка "ялюблюалгоритмы" и словарь ["я", "люблю", "алгоритмы"]. Можно ли разбить строку на слова из словаря?

Читать: 1+ мин
logo Tarasov

🔺 Определяем тип треугольника по трём сторонам: leetcode 3024

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

В этой задаче даются три стороны треугольника. Нужно определить какой треугольник нам дан - равносторонний (equilateral), равнобедренный (isosceles) или разносторонний (scalene)

Читать: 3+ мин
logo Tarasov

Глубокая копия связанного списка со случайными указателями: leetcode 138

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

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

Читать: 1+ мин
logo Tarasov

⚽ Находим уникальный элемент среди троек: битовые операции в действии

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

Пусть есть корзина с фруктами, где каждый вид фрукта повторяется ровно три раза, кроме одного уникального. Как быстро найти этот уникальный фрукт, не перебирая всю корзину по многу раз? Задача Single Number II предлагает элегантное решение с использованием битовых операций.

Читать: 3+ мин
logo Tarasov

💰 Находим самую прибыльную подпоследовательность: задача Leetcode 2099

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

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

Читать: 1+ мин
logo Tarasov

🏀 Как найти уникальный элемент в массиве: leetcode 136

Доступно подписчикам уровня
«Исследователь (Explorer)»
Подписаться за 600₽ в месяц

Пусть у вас есть коробка с шарами, где каждый шар имеет пару (два одинаковых), кроме одного уникального. Как быстро найти этот единственный шар, не перебирая всю коробку несколько раз? Задача Single Number решает именно эту проблему - находит уникальный элемент в массиве, где все остальные элементы встречаются дважды.

Показать еще

Обновления проекта

Статистика

0 ₽/мес
?
«Мгновенная выручка» проекта за последние 30 дней с точностью до часа. Из-за подсчета в реальном времени эта цифра постоянно меняется как в большую, так и в меньшую сторону. Настоящий заработок проекта за календарный месяц обычно бывает выше.

Фильтры

Подарить подписку

Будет создан код, который позволит адресату получить бесплатный для него доступ на определённый уровень подписки.

Оплата за этого пользователя будет списываться с вашей карты вплоть до отмены подписки. Код может быть показан на экране или отправлен по почте вместе с инструкцией.

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

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

Добавить карту
0/2048