• [leetCode]1035.不相交的线


    在这里插入图片描述


    此题使用动态规化求解,使用dp[i][j]表示A[0~i-1]与B[0~j-1]中的最大连接数
    A[i-1]==B[j-1]时:

    dp[i][j] = dp[i-1][j-1]+1;
    

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

    dp[i][j] = Max(dp[i-1][j],dp[i][j-1]);
    

    在这里插入图片描述

    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];
        }
    }
    
  • 相关阅读:
    #4702. gcd
    独特的树叶

    搞笑的代码 ( funny )
    越野赛车问题
    删边(cip)
    最长公共子序列
    美食节
    线段树
    新年快乐
  • 原文地址:https://www.cnblogs.com/PythonFCG/p/13859993.html
Copyright © 2020-2023  润新知