java冒泡排序代碼 最長(zhǎng)重復(fù)子串是什么意思?
最長(zhǎng)重復(fù)子串是什么意思?字符串中最長(zhǎng)的重復(fù)部分。例如,有以下字符串:abcdcdcdbcb對(duì)于這個(gè)字符串,最長(zhǎng)的重復(fù)子字符串是bcdbc求字符串內(nèi)最長(zhǎng)不重復(fù)的子串長(zhǎng)度是多少?在這里,我們提供一個(gè)想法:
最長(zhǎng)重復(fù)子串是什么意思?
字符串中最長(zhǎng)的重復(fù)部分。例如,有以下字符串:abcdcdcdbcb對(duì)于這個(gè)字符串,最長(zhǎng)的重復(fù)子字符串是bcdbc
求字符串內(nèi)最長(zhǎng)不重復(fù)的子串長(zhǎng)度是多少?
在這里,我們提供一個(gè)想法:設(shè)計(jì)四個(gè)變量,X1和Y1用于存儲(chǔ)當(dāng)前檢索到的最長(zhǎng)子串的起始位置和長(zhǎng)度,X2和Y2用于存儲(chǔ)當(dāng)前檢索到的字符串的起始位置和長(zhǎng)度,然后建立一個(gè)循環(huán)遍歷所有字符,一次遍歷一個(gè),如果與當(dāng)前的檢索沒(méi)有沖突,它將繼續(xù)很方便。如果與當(dāng)前檢索子字符串存在字符沖突,則會(huì)比較當(dāng)前檢索子字符串的長(zhǎng)度和最長(zhǎng)的子字符串的長(zhǎng)度。遍歷整個(gè)字符串后,可以找到最長(zhǎng)子字符串的起始位置和長(zhǎng)度。
怎么找出兩個(gè)字符串中最長(zhǎng)的相同子串?
Package Chuan
public class maxsubstring{
//獲取兩個(gè)字符串中最大的相同子字符串。
/**
*想法:1。通過(guò)減少長(zhǎng)度得到短子串。
*2. 使用長(zhǎng)字符串判斷它是否包含每次獲得的子字符串。如果包含,則查找最大且相同的子字符串
*@param S1
*@param S2
*@return Max substring
*/
public static string getmaxsubstring(string S1,string S2)
{
string Max=“”,min=“
Max=(S1)。長(zhǎng)度()>s2。長(zhǎng)度())?S1:S2
最小值=(最大值==S1)?S2:S1
表示(int i=0I)