Logo
TGCATALOG
Каталог Подборки Блог
C/C++ LeetCode - задачи

C/C++ LeetCode - задачи

LeetCode задачи C/C++.

Нет оценок
52
10.09.2026
52
10.09.2026
Нет оценок
52
10.09.2026
Безопасный переход через бот
О канале

LeetCode задачи C/C++.

Подписчиков 3,234
Тематика Технологии
Язык Русский
Ссылка t.me/easy_c_plus_task

Также рекомендуем

Kekaton AI | Озвучка и клон голоса
Kekaton AI | Озвучка и клон голоса
Бот

AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.

Описание

Решения и задачи LeetCode на C/C++.

Последние посты

C/C++ LeetCode - задачи
C/C++ LeetCode - задачи
🔒Открыть пост
и посмотреть медиа
Задача: 1199. Minimum Time to Build Blocks Сложность: hard Вам дан список блоков, где blocks[i] = t означает, что на строительство i-го блока требуется t единиц времени. Блок может быть построен только одним рабочим. Рабочий может либо разделиться на двух рабочих (количество рабочих увеличивается на одного), либо построить блок и уйти домой. Оба решения требуют некоторого времени. Время, затраченное на разделение одного рабочего на двух, задано целым числом split. Обратите внимание, что если два рабочих разделяются одновременно, они разделяются параллельно, поэтому затраты времени будут равны split. Выведите минимальное время, необходимое для строительства всех блоков. Изначально есть только один рабочий. Пример: Input: blocks = [1,2,3], split = 1 Output: 4 Explanation: Split 1 worker into 2, then assign the first worker to the last block and split the second worker into 2. Then, use the two unassigned workers to build the first two blocks. The cost is 1 + max(3, 1 + max(1, 2)) = 4. 👨💻 Алгоритм: 1⃣Подготовка кучи строительного времени: Инициализируйте кучу строительного времени, изначально содержащую все значения времени из массива blocks. 2⃣Обработка кучи: Пока в куче больше одного элемента: - извлеките минимальное значение из кучи, обозначим его как x. - извлеките следующее минимальное значение из кучи, обозначим его как y. - создайте новое время строительства, которое равно split + y, и вставьте его обратно в кучу. 3⃣Возврат результата: Когда в куче останется только одно значение, оно и будет минимальным временем, необходимым для строительства всех блоков. 😎 Решение: #include #include class Solution { public: int minBuildTime(std::vector& blocks, int split) { std::priority_queue pq(blocks.begin(), blocks.end()); while (pq.size() > 1) { int x = pq.top(); pq.pop(); int y = pq.top(); pq.pop(); pq.push(split + y); } return pq.top(); } }; Ставь 👍 и забирай 📚 Базу знаний
C/C++ LeetCode - задачи
Динамика подписчиков
+0.0% за 30 дней
Текущие
3,234
Месяц назад
3,234
Средний рост
+0 / день
Обновлено
11 часов назад

Отзывы о канале C/C++ LeetCode - задачи

Авторизуйтесь, чтобы оставить отзыв

Только зарегистрированные пользователи могут делиться своим мнением.

Пока нет отзывов

Станьте первым, кто поделится своим впечатлением об этом ресурсе!

Похожие ресурсы

Бесплатный Telegram бот на базе DALLE для генерации изображений из текста. Быстро, просто и без водяных знаков.

Канал

Новости и события Татарстана в Telegram-канале.

Канал
SGCam - Google Camera Mod

SGCam - Google Camera Mod

Технологии
20

Официальный канал модов Google Camera (GCam) для Android.

Канал
Переход на светлую тему
Главная Каталог Подборки Блог Вход