...

/

Course Schedule

Course Schedule

Try to solve the Course Schedule problem.

Statement

You are given an integer, numCourses, representing the total number of courses you need to complete, labeled from 0 to numCourses - 1.

You are also given a prerequisites array, where prerequisites[i] = [a[i], b[i]] indicates that you must take course b[i] first if you want to take the course a[i]. For example, the pair [1,0][1, 0] indicates that to take course 11, you have to first take course 00.

Return TRUE if all of the courses can be finished. Otherwise, return FALSE.

Constraints:

  • 11 \leq numCourses 1500\leq 1500
  • 00 \leq prerequisites.length 1000\leq 1000
  • prerequisites[i].length =2= 2
  • 00 \leq a[i], b[i] << numCourses
  • All the pairs prerequisites[i] are unique.

Examples

Understand the problem

Let’s take a moment to make sure you've correctly understood the problem. The quiz below helps you check if you're solving the correct problem:

Course Schedule

1.

What is the output if the following prerequisites and number of courses are given as input?

prerequisites = [[1, 0], [1, 2], [3, 1], [4, 1], [1, 4], [5, 1]]

num_courses = 6

A.

TRUE

B.

FALSE


1 / 3

Note: The in-degree is the number of edges coming into a vertex in a directed graph.

Figure it out!

We have a game for you to play. Rearrange the logical building blocks to develop a clearer understanding of how to solve this problem.

Sequence - Vertical
Drag and drop the cards to rearrange them in the correct sequence.

1
2
3
4
5

Try it yourself

Implement your solution in the following coding playground:

C++
usercode > CourseSchedule.cpp
bool CanFinish(int numCourses, vector<vector<int>> preRequisites) {
// Replace this placeholder return statement with your code
return false;
}
Course Schedule

Access this course and 1200+ top-rated courses and projects.