题目:
解答:
动态规划。
1 class Solution { 2 public: 3 int findLength(vector<int>& A, vector<int>& B) 4 { 5 int ans = 0; 6 vector<vector<int>> memo(A.size() + 1,vector<int>(B.size() + 1)); 7 8 for (int i = A.size() - 1; i >= 0; --i) 9 { 10 for (int j = B.size() - 1; j >= 0; --j) 11 { 12 if (A[i] == B[j]) 13 { 14 memo[i][j] = memo[i+1][j+1] + 1; 15 if (ans < memo[i][j]) 16 { 17 ans = memo[i][j]; 18 } 19 } 20 } 21 } 22 return ans; 23 } 24 };
原文:https://www.cnblogs.com/ocpc/p/12831530.html