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

#include <leetcode.h>

静态 Public 成员函数

static bool canFinish (int numCourses, vector< vector< int > > &prerequisites)
 

详细描述

在文件 leetcode.h3168 行定义.

成员函数说明

◆ canFinish()

bool leetcode::course_schedule::Solution::canFinish ( int  numCourses,
vector< vector< int > > &  prerequisites 
)
static

在文件 leetcode.cpp9004 行定义.

9004 {
9005 vector<int> in(numCourses);
9006 vector<unordered_set<int>> out(numCourses);
9007 unordered_set<int> learned;
9008 for(auto &prerequisite: prerequisites) {
9009 in[prerequisite[1]]++;
9010 out[prerequisite[0]].insert(prerequisite[1]);
9011 }
9012 bool hasChange = true;
9013 while(hasChange) {
9014 hasChange = false;
9015 for(int i = 0; i < numCourses; i++) {
9016 if(in[i] == 0 && !learned.contains(i)) {
9017 hasChange = true;
9018 learned.insert(i);
9019 for(auto &next: out[i]) {
9020 in[next]--;
9021 }
9022 }
9023 }
9024 }
9025 for(int i = 0; i < numCourses; i++) {
9026 if(in[i] != 0) {
9027 return false;
9028 }
9029 }
9030 return true;
9031 }

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


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