题解 | #最长公共子数组#

最长公共子数组

https://www.nowcoder.com/practice/6032826d387c4a10ad3690cce5fdb015

#include <algorithm>
#include <vector>
class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param A int整型vector
     * @param B int整型vector
     * @return int整型
     */
    /*dp[i][j]:A以nums[i-1]结尾的子数组与B以nums[j-1]结尾的子数组中最长公共子数组的长度*/
  /*if (A[i-1]==B[j-1]) dp[i][j]=dp[i-1][j-1]+1否则为0*/
    int longestCommonSubarry(vector<int>& A, vector<int>& B) {
        // write code here
        vector<vector<int>>dp(A.size()+1, vector<int>(B.size()+1, 0));
        int max_len = 0;
        for (int i = 1; i <= A.size(); i++) {
            dp[i][0] = 0;
        }
        for (int j = 1; j < B.size(); j++) {
            dp[0][j] = 0;
        }
        for (int i = 1; i <= A.size(); i++) {
            for (int j = 1; j <= B.size(); j++) {
                if (A[i-1]==B[j-1]) {
                    dp[i][j]=dp[i-1][j-1]+1;
                }
                else {
                    dp[i][j]=0;
                }
                max_len=max(max_len,dp[i][j]);
            }
        }
        return max_len;
    }
};

全部评论

相关推荐

03-18 09:45
莆田学院 golang
牛客749342647号:佬,你这个简历模板是哪个,好好看
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务