Menu
CoddyTech

Longest Common Substring

Trung bìnhQuy hoạch độngpython iconjava iconcpp iconc iconjs icon+10

Bạn nhận được hai chuỗi, s1 và s2. Chuỗi con là một dãy chữ cái liền nhau được lấy từ một chuỗi, chẳng hạn như ork trong clockwork. Hãy tìm chuỗi con dài nhất mà s1 và s2 cùng có, rồi trả về độ dài của chuỗi đó. Nếu không có chữ cái nào xuất hiện trong cả hai chuỗi, đáp án là 0.

Hàm

longestCommonSubstring(s1: string, s2: string) → integer
s1string
chuỗi đầu tiên
s2string
chuỗi thứ hai
Trả vềinteger
độ dài của khối chữ cái dài nhất có trong cả hai chuỗi

Ràng buộc

  • 1 ≤ s1.length ≤ 1000
  • 1 ≤ s2.length ≤ 1000
  • s1 và s2 gồm các chữ cái tiếng Anh viết thường.

Ví dụ

Đầu vào
s1 = "clockwork"s2 = "workshop"
Đầu ra
4
Giải thích
work đóng clockwork và mở workshop, nên đây là chuỗi con chung có độ dài 4, và không có khối dài hơn nào xuất hiện trong cả hai.
challenge icon

Câu hỏi mở rộng

Bạn có thể kiểm tra xem có tồn tại chuỗi con chung có độ dài L hay không trong khoảng O(n + m) thời gian bằng hàm băm cuộn, rồi tìm kiếm nhị phân theo L không?

Đặt lại code
def longestCommonSubstring(s1, s2):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

s1 = "clockwork"
s2 = "workshop"

Đầu ra mong đợi

4