OJ 系列之求兩個字串最大的公共字串的長度

2021-07-05 05:20:26 字數 686 閱讀 5152

求兩個字串最大的公共字串的長度

1、暴力解法

#include 

#include

#include

/*大寫轉化成小寫*/

void large_to_little(char* strsrc)

strsrc ++;

}}/*獲取當前字串的長度*/

int getcurcommonstrlength(char* pfirststr,char* psecondstr)

return nlength;

} /*獲取公共字串的長度*/

int getcommonstrlength(char * pfirststr, char * psecondstr)

} strsecond++;

} strsecond = psecondstrtemp; /*重新賦值*/

//printf("[%d] strfirst %s\n",__line__,strsecond);

strfirst++;

} free(pfirststrtemp);

free(psecondstrtemp);

return commonstrlengthmax;

}int main()

2、動態規劃(待完善)

求兩個字串的距離

給定兩個長度相等的,由小寫字母組成的字串s1和s2,定義s1和s2的距離為兩個字串有多少個位置上的字母不相等。現在牛牛可以選定兩個字母x1和x2,將s1中的所有字母x1均替換成x2。x1和x2可以相同 牛牛希望知道執行一次替換之後,兩個字串的距離最少為多少。x1和x2是自己求的,未知 輸入 aaa ...

求兩個字串的最大公共字串

今天在csdn上面翻倒乙個問題 求兩個字串的最大公共子串,本來想用有限自動機來做,可惜當年編譯學的不著.b上網翻了翻相關介紹,有乙個演算法很巧妙 把字串1 長度m 橫排,串2 長度n 豎排,得到乙個m n的矩陣c,矩陣的每個元素的值如下,如果m i n j 則c j i 1,否則,c j i 0。然...

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

求兩個串中的第乙個最長子串。如 abractyeyt dgdsaeactyey 的最大子串為 actyet 有乙個演算法很巧妙 把字串1 長度m 橫排,串2 長度n 豎排,得到乙個m n的矩陣c,矩陣的每個元素的值如下,如果m i n j 則c j i 1,否則,c j i 0。然後找出矩陣中連續是...