Grokking 75: Top Coding Interview Questions
Ask Author
Back to course home

0% completed

Vote For New Content
Course Schedule (medium)
Table of Contents

Contents are not accessible

Contents are not accessible

Contents are not accessible

Contents are not accessible

Contents are not accessible

Problem Statement

You have to complete a numCourses number of courses, labeled from 0 to numCourses - 1. You are given an array prerequisites where prerequisites[i] = [a<sub>i</sub>, b<sub>i</sub>] indicates that you must complete course b<sub>i</sub> first if you want to complete course a<sub>i</sub>.

Return true if it's possible to finish all the courses given these prerequisites. Otherwise, return false.

Examples

Example 1:

  • Input: numCourses = 3, prerequisites = [[2, 0], [2, 1]]
  • Expected Output: true
  • Justification: You can take course 0 and course 1 first, then take course 2.

Example 2:

  • Input: numCourses = 4, prerequisites = [[1, 0], [2, 1], [3, 2], [1, 3]]
  • Expected Output: false
  • Justification: There is a cycle in the prerequisites: course 1 requires course 3, which requires course 2, which requires course 1.

Example 3:

  • Input: numCourses = 5, prerequisites = [[1, 0], [2, 1], [3, 2], [4, 3]]
  • Expected Output: true
  • Justification: You can take courses in the order 0, 1, 2, 3, and 4 without any conflicts.

Constraints:

  • 1 <= numCourses <= 2000
  • 0 <= prerequisites.length <= 5000
  • prerequisites[i].length == 2
  • 0 <= a<sub>i</sub>, b<sub>i</sub> < numCourses
  • All the pairs prerequisites[i] are unique.

Try it yourself

Try solving this question here:

Python3
Python3

. . . .

.....

.....

.....

Like the course? Get enrolled and start learning!

Table of Contents

Contents are not accessible

Contents are not accessible

Contents are not accessible

Contents are not accessible

Contents are not accessible