718. 最长重复子数组

class Solution {
public:
    int f[1010][1010];//f[i][j]表示s1的下标i结尾,s2下标j结尾的最长公共子数组长度
    int findLength(vector<int>& nums1, vector<int>& nums2) {
        int n=nums1.size(),m=nums2.size();
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
            {
                if(nums2[j-1]==nums1[i-1])  f[i][j]=f[i-1][j-1]+1;
                else f[i][j]=0;
            }
        int res=0;
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                res=max(res,f[i][j]);
        return res;
    }
};
posted @ 2023-05-06 17:12  穿过雾的阴霾  阅读(16)  评论(0)    收藏  举报