欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

718. 最长重复子数组 ( dp )

程序员文章站 2022-03-16 07:57:08
...

LeetCode: 718. 最长重复子数组

718. 最长重复子数组 ( dp )


dp 题

718. 最长重复子数组 ( dp )

718. 最长重复子数组 ( dp )



class Solution {
    public int findLength(int[] a, int[] b) {
        int m = a.length, n = b.length;
        int[][] dp = new int[m + 1][n + 1];

        int mx = 0;
        for(int i = 0; i < m; i++){
            for(int j = 0; j < n; j++){
                if(a[i] == b[j] && i > 0 && j > 0) dp[i][j] = Math.max(1, dp[i - 1][j - 1] + 1);
                else if(a[i] == b[j]) dp[i][j] = 1;

                mx = Math.max(mx, dp[i][j]);
            }
        }

        // for(int i = 0; i < m; i++){
        //     for(int j = 0; j < n; j++){
        //         System.out.print(dp[i][j] + "  ");
        //     }
        //     System.out.println();
        // }

        return mx;
    }
}



718. 最长重复子数组 ( dp )