字符串子串個(gè)數(shù)計(jì)算 怎么找出兩個(gè)字符串中最長(zhǎng)的相同子串?
怎么找出兩個(gè)字符串中最長(zhǎng)的相同子串?Package Chuanpublic class maxsubstring{//獲取兩個(gè)字符串中最大的相同子字符串。/***想法:1。通過(guò)減少長(zhǎng)度得到短子串。*2
怎么找出兩個(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
對(duì)于(int)I=0I
求字符串內(nèi)最長(zhǎng)不重復(fù)的子串長(zhǎng)度是多少?
這里我們提供一個(gè)思路:設(shè)計(jì)四個(gè)變量,X1和Y1用來(lái)存儲(chǔ)當(dāng)前檢索到的最長(zhǎng)子串的起始位置和長(zhǎng)度,X2和Y2用來(lái)存儲(chǔ)當(dāng)前檢索到的字符串的起始位置和長(zhǎng)度,然后我們需要建立一個(gè)循環(huán)遍歷所有子串角色,一次一個(gè)。如果與當(dāng)前檢索不沖突,則如果與當(dāng)前檢索到的子字符串存在字符沖突,則比較當(dāng)前檢索到的子字符串的長(zhǎng)度與最長(zhǎng)的子字符串的長(zhǎng)度將繼續(xù)方便。遍歷整個(gè)字符串后,可以找到最長(zhǎng)子字符串的起始位置和長(zhǎng)度。