Menu
CoddyTech

Longest Common Substring

İki dize, s1 ve s2 alırsın. Alt dize, bir dizgeden alınan ve kesintisiz devam eden harf dizisidir; örneğin clockwork içindeki ork. s1 ve s2'nin ortak olarak içerdiği en uzun alt dizeyi bul ve uzunluğunu döndür. Her iki dizgede de ortak bir harf yoksa yanıt 0'dır.

Fonksiyon

longestCommonSubstring(s1: string, s2: string) → integer
s1string
ilk dize
s2string
ikinci karakter dizisi
Döndürürinteger
her iki dizgede de bulunan en uzun harf bloğunun uzunluğu

Kısıtlar

  • 1 ≤ s1.length ≤ 1000
  • 1 ≤ s2.length ≤ 1000
  • s1 ve s2 küçük İngilizce harflerden oluşur.

Örnekler

Girdi
s1 = "clockwork"s2 = "workshop"
Çıktı
4
Açıklama
work, clockwork'ü kapatıp workshop'u açar; dolayısıyla uzunluğu 4 olan ortak bir alt dizgedir ve her ikisinde de daha uzun bir blok bulunmaz.
challenge icon

Ek soru

Verilen L uzunluğunda ortak bir alt dizenin kayan özet kullanılarak yaklaşık O(n + m) sürede var olup olmadığını test edebilir ve ardından L üzerinde ikili arama yapabilir misin?

Kodu sıfırla
def longestCommonSubstring(s1, s2):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argümanlar

s1 = "clockwork"
s2 = "workshop"

Beklenen Çıktı

4