problemscpp
A collection of my answers to algorithm problems in c++.
静态 Public 成员函数 | 所有成员列表
leetcode::course_schedule_ii::Solution类 参考

#include <leetcode.h>

静态 Public 成员函数

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

详细描述

在文件 leetcode.h3176 行定义.

成员函数说明

◆ findOrder()

vector< int > leetcode::course_schedule_ii::Solution::findOrder ( int  numCourses,
vector< vector< int > > &  prerequisites 
)
static

在文件 leetcode.cpp9035 行定义.

9035 {
9036 vector<int> ans;
9037 vector<int> in(numCourses);
9038 vector<unordered_set<int>> out(numCourses);
9039 unordered_set<int> learned;
9040 for(auto &prerequisite: prerequisites) {
9041 in[prerequisite[0]]++;
9042 out[prerequisite[1]].insert(prerequisite[0]);
9043 }
9044 bool hasChange = true;
9045 while(hasChange) {
9046 hasChange = false;
9047 for(int i = 0; i < numCourses; i++) {
9048 if(in[i] == 0 && !learned.contains(i)) {
9049 hasChange = true;
9050 learned.insert(i);
9051 ans.emplace_back(i);
9052 for(auto &next: out[i]) {
9053 in[next]--;
9054 }
9055 }
9056 }
9057 }
9058 if(ans.size() == numCourses) {
9059 return ans;
9060 }
9061 return {};
9062 }

被这些函数引用 leetcode::course_schedule_ii::TEST().


该类的文档由以下文件生成: