使用动态规划的方式
int findLength(std::vector<int>& A, std::vector<int>& B) {
int s=A.size();
int t=B.size();
int max=0;
std::vector<std::vector<int>> dp(s+1,std::vector<int>(t+1,0));
for(int i=1;i<=s;i++){
for(int j=1;j<=t;j++){
if(A[i-1]==B[j-1]){
dp[i][j]=dp[i-1][j-1]+1;
max=std::max(max,dp[i][j]);
}
}
}
return max;
}