Logo
TGCATALOG
Catálogo Selecciones Blog
C/C++ LeetCode - задачи

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

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

Sin valoraciones
67
10.09.2026
67
10.09.2026
Sin valoraciones
67
10.09.2026
Redirección segura vía bot
О канале

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

Подписчиков 3,234
Тематика Tecnología
Язык Español
Ссылка t.me/easy_c_plus_task

También te recomendamos

Kekaton AI  Voz en off y clon de voz
Kekaton AI Voz en off y clon de voz
Bot

bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.

Descripción

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

Últimas publicaciones

C/C++ LeetCode - задачи
C/C++ LeetCode - задачи
🔒Открыть пост
и посмотреть медиа
Задача: 210. Course Schedule II Сложность: medium Дано число numCourses и список пар prerequisites, где каждая пара [a, b] означает: чтобы взять курс a, нужно сначала пройти курс b. Верните один из возможных порядков прохождения курсов. Если пройти все курсы невозможно (из-за циклов) — верните пустой массив. Пример: Input: numCourses = 4, prerequisites = [[1,0],[2,0],[3,1],[3,2]] Output: [0,2,1,3] 👨💻 Алгоритм: 1⃣Построение графа и подготовка к DFS Создаем список смежности adjList, где adjList[b] содержит все курсы, зависящие от b. Каждый курс помечаем цветом: WHITE = 1 — не посещён GRAY = 2 — в процессе обработки BLACK = 3 — полностью обработан 2⃣Обход в глубину (DFS) и детектирование цикла Для каждого непосещённого узла запускаем dfs. Если во время обхода обнаруживаем цикл (возврат к GRAY узлу), значит, пройти курсы невозможно. 3⃣Формирование ответа После завершения DFS по всем узлам формируем порядок курсов из стека (или массива) topologicalOrder, инвертируя его. 😎Решение: cppКопироватьРедактироватьclass Solution { public: int WHITE = 1; int GRAY = 2; int BLACK = 3; vector findOrder(int numCourses, vector& prerequisites) { bool isPossible = true; map color; map adjList; vector topologicalOrder; for (int i = 0; i < numCourses; i++) color[i] = WHITE; for (vector relation : prerequisites) { int dest = relation[0]; int src = relation[1]; adjList[src].push_back(dest); } for (int i = 0; i < numCourses && isPossible; i++) { if (color[i] == WHITE) { dfs(i, color, adjList, isPossible, topologicalOrder); } } vector order; if (isPossible) { order.resize(numCourses); for (int i = 0; i < numCourses; i++) { order[i] = topologicalOrder[numCourses - i - 1]; } } return order; } void dfs(int node, map& color, map& adjList, bool& isPossible, vector& topologicalOrder) { if (!isPossible) return; color[node] = GRAY; for (int neighbor : adjList[node]) { if (color[neighbor] == WHITE) { dfs(neighbor, color, adjList, isPossible, topologicalOrder); } else if (color[neighbor] == GRAY) { isPossible = false; } } color[node] = BLACK; topologicalOrder.push_back(node); } }; Ставь 👍 и забирай 📚 Базу знаний
C/C++ LeetCode - задачи
Evolución de suscriptores
+0.0% últimos 30 días
Actuales
3,234
Hace un mes
3,234
Crecimiento medio
+0 / día
Actualizado
hace 18 horas

Reseñas de canal C/C++ LeetCode - задачи

Inicia sesión para dejar una reseña

Solo los usuarios registrados pueden compartir su opinión.

Aún no hay reseñas

¡Sé el primero en compartir tu experiencia con este recurso!

Recursos similares

Canal de programas, tecnologías y noticias de TI. Centrarse en Azerbaiyán, contenido útil para los usuarios.

Canal

CanalPremium Binancecon actualizaciones del mercado de criptomonedas, materiales educativos y anuncios exclusivos para los comerciantes.

Canal
31

Un canal con señales de criptopamp y consejos de trading.

Canal
Cambiar a tema claro
Inicio Catálogo Selecciones Blog Entrar