O07
Görev Sırası
Teknik Tanım & Görev
Bir derleme sistemi, 0'dan n-1'e kadar numaralanmış görevleri çalıştıracak. Bazı görevler diğerlerine bağımlı. Bağımlılıklar [a, b] ikilileriyle veriliyor ve anlamı şu: "a GÖREVİ, b GÖREVİNDEN ÖNCE tamamlanmalıdır" (yani b, a'ya bağımlıdır).
Görevlerin GEÇERLİ bir çalışma sırasını döndür. Birden fazla geçerli sıra olabilir; bunların arasından SÖZLÜK SIRASI BAKIMINDAN EN KÜÇÜK OLANI (lexicographically smallest) döndür.
Bağımlılıklar bir DÖNGÜ oluşturuyorsa geçerli bir sıra yoktur; bu durumda BOŞ DİZİ [] döndür.
Fonksiyon İmzası (Python)
gorev_sirasi(n: int, bagimliliklar: list[list[int]]) -> list[int]Girdi ve Çıktı Sözleşmesi
Çıktı Kuralı:Uzunluğu n olan bir sıra, veya döngü varsa boş dizi [].
Sistem Kısıtları (Constraints)
1 <= n <= 10^4
0 <= bagimliliklar.length <= 10^4
0 <= a, b < n ve a != b
Tekrar eden ikili yokturÖrnek Yürütme Analizi
n = 4, bagimliliklar = [[0,1], [0,2], [1,3], [2,3]]
gelen kenar: 0:0, 1:1, 2:1, 3:2
hazır küme {0} -> 0 çalışır -> hazır {1,2} -> en küçük 1 -> hazır {2} -> 2 -> hazır {3} -> 3
cevap: [0, 1, 2, 3]Örnek Test Senaryoları (3)
Örnek 1
Girdi:
[4,[[0,1],[0,2],[1,3],[2,3]]]Beklenen Çıktı:
[0,1,2,3]Örnek 2: Doğrusal Zincir
Girdi:
[3,[[0,1],[1,2]]]Beklenen Çıktı:
[0,1,2]Örnek 3: Tamamen Bağımsız
Girdi:
[3,[]]Beklenen Çıktı:
[0,1,2]