解题步骤:
参考代码:
- class Solution {
- public:
- int findLength(vector<int>& nums1, vector<int>& nums2) {
- int m = nums1.size();
- int n = nums2.size();
- //多开一行,多开一列
- vector
int>> dp(m + 1, vector<int>(n + 1)); - int ret = 0;
-
- for (size_t i = 1; i <= m; i++)
- {
- for (size_t j = 1; j <= n; j++)
- {
- if (nums1[i-1] == nums2[j-1])
- {
- dp[i][j] = dp[i - 1][j - 1] + 1;
- }
- else
- {
- dp[i][j] = 0;
- }
- ret = max(ret, dp[i][j]);
- }
- }
- return ret;
- }
- };
你学会了吗???