当前位置: 首页 > news >正文

LeetCode:210. 课程表 II

class Solution {

public:

    vector<int> postorder;

    bool hasCycle = false;

    vector<bool> visited, onPath;

    vector<int> findOrder(int numCourses, vector<vector<int>>& prerequisites) {

        // 使用引用传递,避免拷贝

        vector<vector<int>> graph = buildGraph(numCourses, prerequisites);

        visited = vector<bool>(numCourses, false);

        onPath = vector<bool>(numCourses, false);

       

        for (int i = 0; i < numCourses; i++) {

            if (!visited[i]) {

                traverse(graph, i);

            }

        }

       

        if (hasCycle) {

            return vector<int>();

        }

       

        reverse(postorder.begin(), postorder.end());

        return postorder;

    }

    void traverse(vector<vector<int>>& graph, int s) {

        if (onPath[s]) {

            hasCycle = true;

            return;

        }

        if (visited[s] || hasCycle) {

            return;

        }

       

        onPath[s] = true;

        visited[s] = true;

       

        for (int t : graph[s]) {

            traverse(graph, t);

        }

       

        postorder.push_back(s);

        onPath[s] = false;

    }

    vector<vector<int>> buildGraph(int numCourses, vector<vector<int>>& prerequisites) {

        vector<vector<int>> graph(numCourses);

        for (auto& edge : prerequisites) {

            int from = edge[1], to = edge[0];

            graph[from].push_back(to);

        }

        return graph;

    }

};

http://www.dtcms.com/a/508403.html

相关文章:

  • HYPE模型高级实践:集成多源遥感数据的流域分布式模拟、参数自动率定与模型源代码修改
  • 网站建设网站网页模板开发公司工程部经理岗位职责
  • 学习springBoot框架-开发一个酒店管理系统,来熟悉springboot框架语法~
  • 大数据开发生态及学习路线和应用领域
  • 华为云自助建站好不好网络 网站
  • seo怎么收费网站缺陷和优化的例子
  • 软件产品开发从0到1的各个阶段
  • 设计师个人网站源码知名网站制作
  • dedecms怎么部署网站wordpress动态标签
  • 目标检测:使用自己的数据集微调DEIMv2进行物体检测
  • 揭阳企业建站系统模板服装定制图案
  • 彩票网站和app建设网站开发需要经过的几个主要阶段
  • 如何从零开始:设计一款游戏(从一页纸开始)
  • 小程序简单还是做网站简单前端移动端开发
  • 站长之家官网查询网站开发目录
  • h5游戏免费下载:亡者之城
  • [人工智能-大模型-10]:大模型典型产品对比 - 智能对话与问答​类型
  • 苏州美丽乡村建设网站企业网站带后台模板
  • 淘宝网站制作wordpress怎么更改语言设置
  • 海东企业网站建设公司怎么找推广渠道
  • CSS的hover伪类的元素如何在浏览器开发者工具中被审查!
  • 网站如何做外部链接龙岗网络营销
  • 建设网站要电脑才能吗网站怎样推广 优帮云
  • 一区直接写!CEEMDAN分解 + Informer-LSTM +XGBoost组合预测模型
  • 性价比高的网站建设上海企业网站的建设
  • 合规审核类智能体构建范式
  • Keil编译输出map文件主要信息和打开方式
  • 360网站推广微信h5作品欣赏
  • 优化网站软文网站制作收费明细表
  • 哪些公司网站做的很好eclipse 制作网站开发