๐ 718. ๆ้ฟ้ๅคๅญๆฐ็ป
2022ๅนด6ๆ9ๆฅๅฐไบ 1 ๅ้
๐ 718. ๆ้ฟ้ๅคๅญๆฐ็ป
้พๅบฆ: ๐
้ฎ้ขๆ่ฟฐ
่งฃๆณ
class Solution {
public int findLength(int[] nums1, int[] nums2) {
// ๆ่ทฏ๏ผ
// dp[i][j] = dp[i - 1][j - 1] + 1
int row = nums1.length;
int col = nums2.length;
int[][] dp = new int[row][col];
// ๅๅงๅ
int res = 0;
for(int i = 0; i < row; i ++) {
if(nums1[i] == nums2[0]) {
dp[i][0] = 1;
res = 1;
}
}
for(int j = 0; j < col; j ++) {
if(nums1[0] == nums2[j]) {
dp[0][j] = 1;
res = 1;
}
}
// dp
for(int i = 1; i < row; i ++) {
for(int j = 1; j < col; j ++) {
if(nums1[i] == nums2[j]) {
dp[i][j] = Math.max(dp[i][j], dp[i - 1][j - 1] + 1);
res = Math.max(res, dp[i][j]);
}
}
}
return res;
}
}