輸入
第一行給出乙個整數n(0最長公共子串行長度。每組結果佔一行。
樣例輸入
2asdf
adfsd
123abc
abc123abc
樣例輸出36
輸入兩個字串,輸出它們的最長子字串。
求公共子串以及求公共子串的長度:
#include
#include
#define n 100
char a[n], b[n], str[n];
int c[n][n];
int lcs(char* a, char* b, int c[n])
} return c[m][n];
}char* build_lcs(char s, char* a, char* b)
}return s;
}int main()
求最長公共子串行和最長公共子串
輸入描述 輸入為兩行字串 可能包含空格 長度均小於等於50。輸出描述 輸出為乙個整數,表示最長公共連續子串的長度。輸入例子 abcde abgde 輸出例子 2題解 例如 str1 abcde str2 abgde matrix 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0...
最長公共子串和最長公共子串行
二者含義沒搞清楚,雅虎的筆試就這樣的寫錯了。求最長公共字串的題目寫成了最長公共子串行。子串要求字元必須是連續的,但是子串行就不是這樣了。悲催了。子串行跟子串的求法類似,都是使用動態規劃的思想,s1每次增加乙個字元,看與s2當前位置的字元是不是相同,如果相同做相應的處理,如果不同,做另外的處理。子串行...
最長公共子串行和最長公共子串
問題定義 最長公共子串行,序列的意思是順序對就可以,並不需要是連續的。例如 abcde oalblcldle其中abcde就是這兩個字串的最長公共子串行。容易知道乙個長度為n的字串的子串行有2 n 個,假設兩個字串的長度都為n,直接去求解兩個字串的最長公共子串行需要用這2 n 個序列串去匹配另外乙個...