Wawancara 150 TeratasMudah

Jadwal Mata Kuliah II

Panduan lengkap dan implementasi Python untuk soal 'Jadwal Kursus II'.

Pernyataan Masalah

Mudah

Ada total numCourses mata kuliah yang harus Anda ambil, diberi label dari 0 hingga numCourses - 1. Anda diberikan array prasyarat dimana prasyarat[i] = [ai, bi] menunjukkan bahwa Anda harus mengambil mata kuliah bi terlebih dahulu jika ingin mengambil mata kuliah ai.

Kembalikan urutan kursus yang harus Anda ambil untuk menyelesaikan semua kursus. Jika ada banyak jawaban yang valid, kembalikan salah satunya. Jika tidak mungkin menyelesaikan semua kursus, kembalikan array kosong.

Tulis fungsi findOrder(numCourses: int, prerequisites: List[List[int]]) -> List[int].

Kendala
  • 1 <= numCourses <= 2000
  • 0 <= len(prerequisites) <= 5000
  • prerequisites[i].length == 2
  • 0 <= ai, bi < numCourses

Contoh

Example 1
Input
numCourses = 2, prerequisites = [[1,0]]
Output
[0,1]
Explanation

There are a total of 2 courses to take. To take course 1 you should have finished course 0. So the correct course order is [0,1].

Example 2
Input
numCourses = 4, prerequisites = [[1,0],[2,0],[3,1],[3,2]]
Output
[0,2,1,3]
Explanation

There are a total of 4 courses to take. To take course 3 you should have finished both courses 1 and 2. Both courses 1 and 2 should be taken after you finished course 0. So one correct course order is [0,1,2,3]. Another correct ordering is [0,2,1,3].

Need a Hint?
Pertimbangkan untuk menggunakan struktur data khusus Grafik seperti kumpulan atau tumpukan.
Edge Cases to Watch
  • Struktur masukan kosong
  • Masukan elemen tunggal
  • Batasan angka yang besar

Siap Memecahkannya?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Buka di Editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.