求2個字串的最長公共子串長度

2021-07-22 20:08:52 字數 834 閱讀 3639

題目:

給定乙個字串s,你可以從中刪除一些字元,使得剩下的串是乙個回文串。如何刪除才能使得回文串最長呢?

輸出需要刪除的字元個數。

輸入描述:

輸入資料有多組,每組包含乙個字串s,且保證:1<=s.length<=1000.

輸出描述:

對於每組資料,輸出乙個整數,代表最少需要刪除的字元個數。

輸入例子:

abcda

google

輸出例子:

2

2

實現的思路,回文就是正序和倒序都一樣,所以可以看做是求字串的正序和倒序的最長公共子串lcs,然後用原始長度減去最長公共字串的長度即為所求。

[cpp]view plain

copy

#include

#include

using

namespace

std;  

intfindmax(

int&a, 

int&b)  

intgetlcs(string &s1, string &s2)

//動態規劃法

}  }  return

c[m][n];  

}  int

main()  

intlen_lcs = getlcs(s1, s2);  

intcnt = s1.length() - len_lcs;  

cout <

}  return

0;  

}  

Python 獲取2個字串的最長公共子串

計畫是這樣的 查詢所有pdf用pdf名字建立資料夾,並將對應的pdf檔案,移入資料夾中 查詢與pdf名字最接近的 檔案,並將其移入對應的資料夾中。看到明顯是一本書的文字和音訊資料 可以發現,他們都有相同的子字串,所以先要處理找兩個字串最長公共子串的問題。求兩個字串的最長公共子串 思想 建立乙個二維陣...

求兩個字串的最長公共子串

問題 有兩個字串str和str2,求出兩個字串中最長公共子串長度。比如 str acbcbcef,str2 abcbced,則str和str2的最長公共子串為bcbce,最長公共子串長度為5。演算法思路 1 把兩個字串分別以行和列組成乙個二維矩陣。2 比較二維矩陣中每個點對應行列字元中否相等,相等的...

求兩個字串的最長公共子串

def longestcommonsequence str one,str two,case sensitive true str one 和 str two 的最長公共子串行 param str one 字串1 param str two 字串2 正確結果 param case sensitive...