天天看點

[leetCode]1035.不相交的線

[leetCode]1035.不相交的線

此題使用動态規化求解,使用

dp[i][j]

表示

A[0~i-1]與B[0~j-1]

中的最大連接配接數

A[i-1]==B[j-1]

時:

A[i-1]!=B[j-1]

時:

[leetCode]1035.不相交的線
class Solution {
    public int maxUncrossedLines(int[] A, int[] B) {
        int[][] dp = new int[A.length+1][B.length+1];
        for(int i = 1; i < A.length + 1; i++){
            for(int j = 1; j < B.length + 1; j++){
                if(A[i - 1] == B[j - 1]){
                    dp[i][j] = dp[i - 1][j - 1] + 1;
                }else{
                    dp[i][j] = Math.max(dp[i-1][j],dp[i][j-1]);
                }
            }
        }
        return dp[A.length][B.length];
    }
}