题目:
利用动态规划,来解这道题
class Solution {
public:
int findLength(vector<int>& A, vector<int>& B) {
const int m = A.size();
const int n = B.size();
vector<vector<int>> dp(n + 1, vector<int>(m + 1, 0));
int ans = 0;
for (int i = n - 1; i >= 0; --i) {
for (int j = m - 1; j >= 0; --j) {
if (A[i] == B[j]) dp[i][j] = dp[i + 1][j + 1] + 1;
else dp[i][j] = 0;
ans = max(ans, dp[i][j]);
}
}
return ans;
}
};