class Solution {
public int findLength(int[] A, int[] B) {
int i,b;
int len = 0;
int[][] dp = new int[A.length + 1][B.length + 1]; //建立一個二維表。
for(i = 1; i <= A.length; i++){
for(b = 1; b <= B.length; b++){
if(A[i - 1] == B[b - 1]){//如果兩個元素相等,就看他前面一個元素匹配的結果。
dp[i][b] = dp[i - 1][b - 1] + 1;
}
if(dp[i][b] > len){//這裏是找最長得長度
len = dp[i][b];
}
}
}
return len;
}
}
LeetCode718最長重複子數組
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.