En İyi 150 RöportajKolay

Ders Programı II

'Ders Programı II' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Kolay

Almanız gereken toplam numCourses dersi vardır ve 0'dan numCourses - 1'e kadar etiketlenir. Size bir önkoşul dizisi verilir; burada önkoşullar[i] = [ai, bi], ai dersini almak istiyorsanız önce bi dersini almanız gerektiğini belirtir.

Tüm kursları bitirmek için almanız gereken derslerin sıralamasını geri verin. Çok sayıda geçerli yanıt varsa bunlardan herhangi birini döndürün. Tüm kursları bitirmek mümkün değilse boş bir dizi döndürün.

findOrder(numCourses: int, prerequisites: List[List[int]]) -> List[int] adlı bir işlev yazın.

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

Örnekler

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?
Kümeler veya yığınlar gibi Graphs'a özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

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

Editörde Aç
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

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.