Menu
CoddyTech

Longest Common Substring

Kamu mendapatkan dua string, s1 dan s2. Substring adalah rangkaian huruf berurutan yang diambil dari sebuah string, seperti ork dari clockwork. Temukan substring terpanjang yang sama-sama dimiliki s1 dan s2, lalu kembalikan panjangnya. Jika tidak ada huruf yang muncul di kedua string, jawabannya adalah 0.

Fungsi

longestCommonSubstring(s1: string, s2: string) → integer
s1string
string pertama
s2string
string kedua
Mengembalikaninteger
panjang blok huruf terpanjang yang ditemukan di kedua string

Batasan

  • 1 ≤ s1.length ≤ 1000
  • 1 ≤ s2.length ≤ 1000
  • s1 dan s2 terdiri dari huruf kecil bahasa Inggris.

Contoh

Input
s1 = "clockwork"s2 = "workshop"
Output
4
Penjelasan
work menutup clockwork dan membuka workshop, jadi ini adalah substring umum dengan panjang 4, dan tidak ada rangkaian yang lebih panjang yang muncul pada keduanya.
challenge icon

Pertanyaan lanjutan

Bisakah kamu menguji apakah ada substring umum dengan panjang tertentu L dalam waktu sekitar O(n + m) menggunakan rolling hash, lalu melakukan pencarian biner pada L?

Reset kode
def longestCommonSubstring(s1, s2):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

s1 = "clockwork"
s2 = "workshop"

Output yang diharapkan

4