Menu
CoddyTech

Find if Path Exists in Graph

Yönsüz bir grafın n düğümü vardır; düğümler 0 ile n-1 arasında numaralandırılmıştır. edges dizisinin her [u, v] girdisi u ve v düğümlerini birbirine bağlar ve bir kenar üzerinde her iki yönde de ilerleyebilirsiniz. Kenarlar boyunca source düğümünden destination düğümüne ulaşabiliyorsanız true, aksi takdirde false döndürün. Bir düğüm her zaman kendisine ulaşabilir.

Fonksiyon

validPath(n: integer, edges: integer-2d-array, source: integer, destination: integer) → boolean
ninteger
düğüm sayısı
edgesinteger-2d-array
kenarlar; her biri, birbirine bağlı düğümlerden oluşan bir [u, v] çifti
sourceinteger
başladığınız düğüm
destinationinteger
ulaşmak istediğin düğüm
Döndürürboolean
bir yolun kaynak ile hedefi birleştirip birleştirmediği

Kısıtlar

  • 2 ≤ n ≤ 104
  • 1 ≤ edges.length ≤ 5000
  • edges[i] = [u, v] olmak üzere 0 ≤ u, v ≤ n-1 ve u ≠ v
  • Hiçbir kenar, her iki yönde de iki kez görünmez.
  • 0 ≤ source, destination ≤ n-1

Örnekler

Girdi
n = 6edges = [[0, 1], [1, 2], [2, 3], [4, 5]]source = 0destination = 3
Çıktı
true
Açıklama
0 → 1 → 2 → 3 yürüyüşü üç kenar kullanır; bu nedenle 3 düğümüne ulaşılabilir. 4 ve 5 düğümleri, yürüyüşün hiç ihtiyaç duymadığı ayrı bir parça oluşturur.

lock iconGönderirken +16 gizli test

challenge icon

Ek soru

Kenarların tek yönlü olduğunu varsayın: [u, v] yalnızca u'dan v'ye gitmenizi sağlar. Üç yaklaşımdan hangileri hâlâ işe yarar ve bunlarda neyi değiştirirsiniz?

Kodu sıfırla
def validPath(n, edges, source, destination):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Girdi

n = 6
edges = [[0, 1], [1, 2], [2, 3], [4, 5]]
source = 0
destination = 3

Beklenen

true