zoukankan      html  css  js  c++  java
  • leetcode 210. Course Schedule II

    跟leetcode207大致相同,巩固一下把,不在赘述。ac代码

    class Solution {
    public:
        vector<unordered_set<int>> makegraph(int numCourses, vector<pair<int, int>>& prerequisites){
            vector<unordered_set<int>> graph(numCourses);
            for(auto pre:prerequisites)
               graph[pre.second].insert(pre.first);
            return graph;
        }
        vector<int> deprees(vector<unordered_set<int>>& graph){
            vector<int> indeprees(graph.size(),0);
            for(auto g:graph)
               for(int a:g)
                 indeprees[a]++;
            return indeprees;
        }
        vector<int> findOrder(int numCourses, vector<pair<int, int>>& prerequisites) {
            vector<int> res;
            vector<unordered_set<int>> graph=makegraph(numCourses,prerequisites);
            vector<int> indeprees=deprees(graph);
            int num=0;
            for(int i=0;i<indeprees.size();){
                 if(!indeprees[i]){
                    indeprees[i]=-1;
                    res.push_back(i);
                    num++;
                    if(num==indeprees.size()) return res;
                    for(int next:graph[i])
                       indeprees[next]--;
                    i=0;
                }
                else i++;
            }
            return {};
        }
    };
  • 相关阅读:
    Java 插入排序
    Java 浮点型与双精度数值比较
    Java 包装类Integer的值比较
    ORA-00942 table or view does not exist
    logging模块
    面向对象
    模块和包
    异常处理
    序列化模块
    css3选择器
  • 原文地址:https://www.cnblogs.com/weedboy/p/6818828.html
Copyright © 2011-2022 走看看