兩個字符串的公共子串 求字符串內(nèi)最長不重復(fù)的子串長度是多少?
求字符串內(nèi)最長不重復(fù)的子串長度是多少?這里有一個想法:設(shè)計四個變量,X1和Y1用于存儲當(dāng)前檢索到的最長子字符串的起始位置和長度,X2和Y2用于存儲當(dāng)前檢索到的字符串的起始位置和長度,然后建立循環(huán)遍歷所
求字符串內(nèi)最長不重復(fù)的子串長度是多少?
這里有一個想法:設(shè)計四個變量,X1和Y1用于存儲當(dāng)前檢索到的最長子字符串的起始位置和長度,X2和Y2用于存儲當(dāng)前檢索到的字符串的起始位置和長度,然后建立循環(huán)遍歷所有字符,一次遍歷一個。如果與當(dāng)前檢索不沖突,則如果與當(dāng)前檢索子串存在字符沖突,則比較當(dāng)前檢索子串的長度和最長子串的長度將繼續(xù)方便。遍歷整個字符串后,可以找到最長子字符串的起始位置和長度。
如何求兩個任意長度字符串中的最長匹配子串?
Package Chuan
public class maxsubstring{
//獲取兩個字符串中最大的相同子字符串。
/**
*想法:1。通過減少長度得到短子串。
*2. 使用長字符串判斷它是否包含每次獲得的子字符串。如果包含,則查找最大且相同的子字符串
*@param S1
*@param S2
*@return Max substring
*/
public static string getmaxsubstring(string S1,string S2)
{
string Max=“”,min=“
Max=(S1)。長度()>s2。長度())?S1:S2
最小值=(最大值==S1)?S2:S1
表示(int i=0I)