1. 程式人生 > 其它 >NC127 最長公共子串

NC127 最長公共子串

參考:

https://www.cnblogs.com/fanguangdexiaoyuer/p/11281179.html

class Solution {
public:
    /**
     * longest common substring
     * @param str1 string字串 the string
     * @param str2 string字串 the string
     * @return string字串
     */
    string LCS(string str1, string str2) {
        // write code here
        
        vector
<vector<int>> dp (str1.size(), vector<int> (str2.size(),0)); int a = 0; int b = 0; int res = 0; for(int i = 0; i < str1.size(); i++) for(int j = 0; j < str2.size(); j++){ if(str1[i] == str2[j]){
if(i==0||j==0) dp[i][j] = 1; else{ dp[i][j] = dp[i-1][j-1]+1; } if(dp[i][j]>res){ res = dp[i][j]; a = j-res; b
= j; } } else{ dp[i][j] = 0; } } return str2.substr(a+1, res); } };