Перейти к содержимому

LeetCode 2091 — Удаление минимума и максимума из массива | Трюк с 3 стратегиями удаления!

Code Intuition

0:00 / 0:00

LeetCode 2091 — Удаление минимума и максимума из массива | Трюк с 3 стратегиями удаления!

69 просмотров · 1 мес. назад
Code Intuition
35 подписчиков
69 просмотров · 1 мес. назад
LeetCode 2091: Удаление минимума и максимума из массива — Оптимальный подход O(N) 🚀 📌 Ссылка на задачу: https://leetcode.com/problems/removin... Добро пожаловать обратно в Be Code Intuition! В сегодняшнем разборе алгоритма мы разберем задачу LeetCode 2091: Удаление минимума и максимума из массива. Удалять можно только с начала или с конца массива, никогда из середины. Поэтому вместо того, чтобы слепо имитировать удаления, мы отслеживаем позиции глобального минимума и максимума за один проход, а затем сравниваем ровно 3 возможные стратегии, чтобы гарантировать абсолютное минимальное количество общих удалений. 💡 Три стратегии удаления, рассмотренные в этом видео: Удаление обоих индексов с начала: удалить все до более позднего из двух целевых индексов включительно → стоимость = right + 1 Удаление обоих индексов с конца: удалить все, начиная с более раннего из двух целевых индексов → стоимость = n - left Раздельное удаление, по одному с каждого конца: удалить до более раннего индекса с начала и начиная с более позднего индекса с конца → стоимость = (left + 1) + (n - right) Вычислив все три варианта стоимости и взяв min(removeFromLeft, removeFromRight, removeFromBoth), мы решаем задачу за один линейный проход, без моделирования методом перебора и без лишних удалений. 💡 Что вы узнаете из этого видео: Почему следует рассматривать только 3 стратегии удаления Как найти минимальный и максимальный индексы за один проход Вывод формулы стоимости для каждой из 3 стратегий Разбор логики на доске, за которым следует полная реализация на C++ ⏳ Временная сложность: O(N) — один проход по массиву для нахождения минимального и максимального индексов 💾 Пространственная сложность: O(1) — всего несколько целочисленных переменных для отслеживания индексов и стоимости Решено в рамках моей ежедневной серии задач на LeetCode, по одной задаче в день, развивающей интуицию, а не просто запоминающей решение. Не забудьте поставить лайк, подписаться и включить уведомления, чтобы никогда не пропускать ежедневный разбор алгоритма. Оставьте комментарий, если у вас есть вопросы о логике разделения на 3 стратегии. #leetcode #leetcode2091 #удалениеминимумаимаксимума #жадныйалгоритм #массивы #двухточечныеалгоритмы #соревновательноепрограммирование #структурыданных #алгоритмы #becodeintuition #собеседованиепопрограммированию #cpp #учебникпопрограммированию #dsa