最長公共子序列

題目
類型:動態規劃
題意:找到最長公共子序列的長度,不要求連續。

class LCS {
public:
    int findLCS(string A, int n, string B, int m) {
        vector<vector<int>> dp(n+1, vector<int>(m+1));
        int res = 0;
        for(int i = 0; i < n; i++){
            for(int j = 0; j < m; j++){
                if(A[i] == B[j]){
                    dp[i+1][j+1] = dp[i][j] + 1;
                }else 
                    dp[i+1][j+1] = max(dp[i][j+1], dp[i+1][j]);
                res = max(res, dp[i+1][j+1]); 
            }
        }
        return res;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章