class Solution {
public int findLength(int[] nums1, int[] nums2) {
int len1= nums1.length, len2 = nums2.length;
int result = 0;
int[][] dp = new int[len1 + 1][len2 + 1];
for(int i = 1; i <= len1; i++){
for(int j = 1; j <= len2; j++){
if(nums1[i - 1] == nums2[j - 1]){
dp[i][j] = dp[i - 1][j - 1] + 1;
result = Math.max(result, dp[i][j]);
}
}
}
return result;
}
}
718.最长重复子数组
最新推荐文章于 2025-12-07 21:20:15 发布
本文介绍了一种使用动态规划解决的算法,名为Solution类中的findLength方法,用于计算两个整数数组nums1和nums2中长度最长的相同子序列。通过二维数组dp进行状态转移,找出相等元素的连续子序列长度,并返回最大值作为结果。

520

被折叠的 条评论
为什么被折叠?



