๐ŸŒ— 718. ๆœ€้•ฟ้‡ๅคๅญๆ•ฐ็ป„

ๅžไฝ›็ซฅๅญ2022ๅนด6ๆœˆ9ๆ—ฅๅฐไบŽ 1 ๅˆ†้’Ÿ

๐ŸŒ— 718. ๆœ€้•ฟ้‡ๅคๅญๆ•ฐ็ป„

้šพๅบฆ: ๐ŸŒ—

้—ฎ้ข˜ๆ่ฟฐ

img_12.png


่งฃๆณ•

class Solution {
    public int findLength(int[] nums1, int[] nums2) {
        // ๆ€่ทฏ๏ผš
        // dp[i][j] = dp[i - 1][j - 1] + 1
        int row = nums1.length;
        int col = nums2.length;
        int[][] dp = new int[row][col];
        // ๅˆๅง‹ๅŒ–
        int res = 0;
        for(int i = 0; i < row; i ++) {
            if(nums1[i] == nums2[0]) {
                dp[i][0] = 1;
                res = 1;
            }
        }
        for(int j = 0; j < col; j ++) {
            if(nums1[0] == nums2[j]) {
                dp[0][j] = 1;
                res = 1;
            }
        }
        // dp
        for(int i = 1; i < row; i ++) {
            for(int j = 1; j < col; j ++) {
                if(nums1[i] == nums2[j]) {
                    dp[i][j] = Math.max(dp[i][j], dp[i - 1][j - 1] + 1);
                    res = Math.max(res, dp[i][j]);
                }
            }
        }
        return res;
    }
}

่พ“ๅ‡บ

img_11.png

ไธŠๆฌก็ผ–่พ‘ไบŽ: 2022/6/20 ไธ‹ๅˆ8:24:47
่ดก็Œฎ่€…: liuxianzhishou