Course Schedule
Question: http://www.lintcode.com/en/problem/course-schedule/ There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is expressed as a pair: [0,1] Given the total number of courses and a list of prerequisite pairs, is it possible for you to finish all courses? Answer: class Solution { public: /* * @param numCourses: a total of n courses * @param prerequisites: a list of prerequisite pairs * @return: true if can finish all courses or false */ bool canFinish(int numCourses, vector<pair<int, int>>& prerequisites) { // Write your code here vector<vector<int>> adj(numCourses); vector<int> indegree(numCourses); for (int i = 0; i < numCourses; i++) indegree[i] = 0; for (auto pq : prerequisites) { adj[pq.first].push_back(pq.second); ...