動態規劃 最長公共連續子串

2021-09-29 12:25:59 字數 956 閱讀 5171

給出兩個字串(可能包含空格),找出其中最長的公共連續子串,輸出其長度。

1.思路

建立一張二維表,用來儲存字元c1[i]和c2[j]是否相等

abcde

abgde

abcde abcde abcde abcde abcde

a 10000 10000 10000 10000 10000

b 00000 02000 02000 02000 02000

g 00000 00000 00000 00000 00000

d 00000 00000 00010 00010 00010

e 00000 00000 00000 00002 00002

---------------------------------

2. **

public

class

main

else

if(max_len < dp[i]

[j])}}

} system.out.

println

(max_len);}

}

if

(c1[i]

== c2[j]

) 時 轉移方程 : dp[i]

[j]= dp[i-1]

[j-1]+

1else dp[i]

[j]=1;

if(max_len < dp[i]

[j]) max_len = dp[i]

[j]

毫無頭緒,還看不懂,直接自閉

最長公共子串 最長公共子串 動態規劃

有兩個字串 可能包含空格 請找出其中最長的公共連續子串,輸出其長度。長度在1000以內 例如 輸入 abcde bcd 輸出 3 1 把兩個字串分別以行和列組成乙個二維矩陣。2 比較二維矩陣中每個點對應行列字元中否相等,相等的話值設定為1,否則設定為0。3 通過查詢出值為1的最長對角線就能找到最長公...

最長公共子串(動態規劃)

描述 計算兩個字串的最大公共子串 longest common substring 的長度,字元不區分大小寫。輸入 輸入兩個字串 輸出 輸出乙個整數 樣例輸入 asdfas werasdfaswer樣例輸出 6 參考 這裡的最大公共字串要求的字串是連續的。求字串的方法和求子序列方法類似 當s i t...

最長公共子串 動態規劃

題目 給定乙個字串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為1000。示例 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。思想 動態規劃 步驟 第一步 確定子問題。在這一步重點是分析那些變數是隨著問題規模的變小而變小的,那些變數與問題的規模無關。第二步 確定狀態...