無重復(fù)字符的最長子串c語言 求兩個字符串最大公共子串問題?
求兩個字符串最大公共子串問題?DEVC,有一個結(jié)果,按回車鍵,然后結(jié)果先出來,然后立即消失。添加一個函數(shù)以保留結(jié)果。在這之后添加get(b);然后您可以使用DEVC查看結(jié)果。#包括(&L)。H>i
求兩個字符串最大公共子串問題?
DEVC,有一個結(jié)果,按回車鍵,然后結(jié)果先出來,然后立即消失。添加一個函數(shù)以保留結(jié)果。在這之后添加get(b);然后您可以使用DEVC查看結(jié)果。#包括(&L)。H>int main(){char a[1024],B[1024],C[1024]/*定義三個字符數(shù)組a,B,c*/-tint n=0/*統(tǒng)計常用字符數(shù)*/-tint I/tprintf(“input a:n”)/tfflush(stdin)/*空字符串*/-tgets(a)/tprintf(“input B:n”)/tfflush(stdin)/*空字符串*/-tgets(B)/tfor(I=0A[I]!=“0”amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp!=0“I”)目視檢查中有兩個小問題,即將公共部分分配給數(shù)組C[I]*/-t/t/TN(a[I]==B[I])的問題和將公共部分分配給數(shù)組C[I]*/-t/TN(t/t}的問題以及將公共部分分配給數(shù)組C[I]=“”-t/tprintf(“公共部分的字符串?dāng)?shù)是:n”-t/tprintf(%dn”,n)/t/tprintf(%dn”)puts(c)/t/tgets(b)}
~],在同一個函數(shù)中,for中的每次計數(shù)都應(yīng)從0開始。在計數(shù)的循環(huán)中,不要用I和j下班,這樣會影響外循環(huán)體,跳過一些情況,并注意字符串末尾的處理(例如S1和S2完全相同,可以測試一些,并且情況可能不正常)這里的刻度比較小。當(dāng)它很大時(比如100000級,O(n^2)甚至O(n^3),時間復(fù)雜性肯定是痛苦的。建議使用后綴數(shù)組進(jìn)行計算