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