Menu
CoddyTech

Longest Common Subsequence

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

Bạn nhận được hai chuỗi, text1 và text2. Chuỗi con của một chuỗi giữ lại một số ký tự theo đúng thứ tự ban đầu và bỏ những ký tự còn lại; các ký tự được giữ lại không nhất thiết phải đứng cạnh nhau. Hãy trả về độ dài của chuỗi dài nhất là chuỗi con của cả hai chuỗi, hoặc 0 nếu hai chuỗi không có ký tự nào chung.

Hàm

longestCommonSubsequence(text1: string, text2: string) → integer
text1string
chuỗi đầu tiên
text2string
chuỗi thứ hai
Trả vềinteger
độ dài của dãy con chung dài nhất

Ràng buộc

  • 1 ≤ text1.length ≤ 1000
  • 1 ≤ text2.length ≤ 1000
  • Cả hai chuỗi chỉ chứa các chữ cái tiếng Anh viết thường.

Ví dụ

Đầu vào
text1 = "stone"text2 = "longest"
Đầu ra
3
Giải thích
o, n, e xuất hiện theo thứ tự này trong cả hai từ, nên one là phần chung, có độ dài 3. Các chữ cái s và t đứng cuối trong longest nhưng đứng đầu trong stone, nên dùng chúng thì phần chung dài nhất là st.
challenge icon

Câu hỏi mở rộng

Bạn có thể trả về một dãy con chung dài nhất, cùng với độ dài của nó không?

Đặt lại code
def longestCommonSubsequence(text1, text2):
    # Viết code tại đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

text1 = "stone"
text2 = "longest"

Đầu ra mong đợi

3