问题描述:
给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。...示例 1:
输入:
A: [1,2,3,2,1]
B: [3,2,1,4,7]
输出: 3
解释:
长度最长的公共子数组是 [3, 2, 1]。...解决方案:
模板题直接上dp,dp[i] [j] 为A数组以 i 结尾,B数组以 j 结尾的最长公共子串长度。
...baseline:
我们发现当前位置的值依赖于其上边的值和其左边的值,因此初始化时只需填完第一行和第一列的值即可。
...int M = A.length, N = B.length;
int[][] dp = new int[M][N]; // dp[i][j] 表示A以i结尾 B以j结尾的最长公共子串的长度