LeetCode 718. 最长重复子数组

    技术2022-07-11  91

    1 题目描述

    LeetCode

    2 解题思路

    一道非常简单的基础dp题目,就是用dp[i][j] 表示数组A元素以i结尾, 数组B以j结尾的长度,(即选i和j位置的元素,不是到索引i和索引j为止),那么转移方程是显而易见的:

    那么代码随便写写就好了

    class Solution { public: int findLength(vector<int>& A, vector<int>& B) { int m = A.size(), n = B.size(); int ans = 0; vector<vector<int>> dp(m + 1, vector<int>(n + 1, 0)); for (int i = 1; i <= m; i++) { for (int j = 1; j <= n; j++) { if (A[i - 1] == B[j - 1]) { dp[i][j] = dp[i - 1][j - 1] + 1; } ans = max(ans, dp[i][j]); } } return ans; } };

     

    Processed: 0.012, SQL: 9