1、复杂度OM*N
从后往前遍历相同在上一次的结果上加一
class Solution {
public:
int findLength(vector<int>& A, vector<int>& B) {
int n = A.size();
int m = B.size();
vector<vector<int>> dp(n+1,vector<int>(m+1,0));
int ans = INT_MIN;
for(int i = n - 1; i >= 0; i--)
{
for(int j = m-1; j >= 0; j--)
{
dp[i][j] = A[i]==B[j]?dp[i+1][j+1]+1:0;
ans = max(ans,dp[i][j]);
}
}
return ans;
}
};