Skip to content

1136. Parallel Courses #18

@altay9

Description

@altay9

https://leetcode.com/problems/parallel-courses/

Burada, alabileceği kadar kursu en az sayıda sömestır'da almaya çalışan bir öğrenci ile empati kuracağız.
Öğrenci bir sömestr'da aslında istediği kadar ders alabilir. Ama bir dersi alması için, öncelikle o ders'e hazırlık olan başka dersleri alması gerekecek.

İşte, bir dersin alınabilmesi için, daha önceki bir sömestr'da alınması gereken dersleri bir array ile temsil ediyorlar.
int[][] relations array'inin her bir elemanı, bir ders ile başka bir ders arasındaki zorunluluğu temsil ediyor.
örnek:

n = 3, relations = [[1,3],[2,3]]

Burada, 3 adet ders olduğunu (n sayısından) anlıyoruz.
Dersler arasındaki ilişkiye bakacak olursak:
[1,3]: 3 numaralı dersi almak için 1 numaralı dersin ve,
[2,3]: 3 numaralı dersi almak için 2 numaları dersin daha önceki sömestırda alınması gerektiğini anlıyoruz
Bu yüzden, ilk sömestır'da 1 ve 2, ikinci sömestırda ise 3 numaralı ders alınacağından, "minimum 2" sömestır gerekir.
Sonuç 2'dir.

Bazen hiçbir ders alınamayabilir. Çünkü her bir ders bir diğerini gerektirdiğinden kördüğüm oluşur.
Örnek:
Input: n = 3, relations = [[1,2],[2,3],[3,1]]

Böyle bir kördüğüm durumunda Sonuç: -1 olarak döndürülmelidir.

Varsayılan kod:

class Solution {
    public int minimumSemesters(int n, int[][] relations) {
        
    }
}  
   

image

image
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions