子串要求連續
子串行不要求連續
之前的做法是dp求子序列
#include #include #include using namespace std;
const int inf = 0x3f3f3f3f;
const int mod = 1000000007;
string s1,s2;
int dp[1010][1010];//s1串前i個字元和s2串前j個字元的最長公共子串
int main ()
}cout《子串就是如果不匹配就清空為0
維護最大值即可
#include #include#includeusing namespace std;
int dp[500][500];
char str1[500],str2[500];
int main()
else dp[i+1][j+1]=0;
}printf("%d\n",maxlen);
}return 0;
}
最長公共子串行 最長公共子串
1 最長公共子串行 採用動態規劃的思想,用乙個陣列dp i j 記錄a字串中i 1位置到b字串中j 1位置的最長公共子串行,若a i 1 b j 1 那麼dp i j dp i 1 j 1 1,若不相同,那麼dp i j 就是dp i 1 j 和dp i j 1 中的較大者。class lcs el...
最長公共子串行 最長公共子串
1.區別 找兩個字串的最長公共子串,這個子串要求在原字串中是連續的。而最長公共子串行則並不要求連續。2 最長公共子串 其實這是乙個序貫決策問題,可以用動態規劃來求解。我們採用乙個二維矩陣來記錄中間的結果。這個二維矩陣怎麼構造呢?直接舉個例子吧 bab 和 caba 當然我們現在一眼就可以看出來最長公...
最長公共子串行 最長公共子串
最長公共子串行 class solution for int i 0 i len2 i for int i 1 i len1 i return result len1 len2 最長公共子串 class solution for int i 0 i len2 i for int i 1 i len1...