En İyi 150 RöportajKolay

Ders Programı

'Ders Programı' 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.

Örneğin [0, 1] çifti, 0 dersini almak için önce 1 dersini almanız gerektiğini belirtir.

Tüm kursları bitirebiliyorsanız True değerini döndürün. Aksi halde False değerini döndürün.

canFinish(numCourses: int, prerequisites: List[List[int]]) -> bool 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
True
Explanation

To take course 1 you should have finished course 0. So it is possible.

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

To take course 1 you should have finished course 0, and to take course 0 you should also have finished course 1. This is a cycle and therefore impossible.

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.