LeetCode718. Maximum Length of Repeated Subarray Javascript

196 阅读1分钟
/**
 * @param {number[]} A
 * @param {number[]} B
 * @return {number}
 */
var findLength = function(A, B) {
    let maxList = [];
    for(let i = 0; i < A.length; ++i){
        for(let j = 0; j < B.length; ++j){
            if(A[i] === B[j]){
                let maxLength = maxList.length;
                if(i + maxLength >= A.length || j + maxLength >= B.length || A[i + maxLength] !== B[j + maxLength]){
                    continue;
                }
                let sameList = [];
                let ii = i;
                let jj = j;
                while(ii < A.length && jj < B.length && A[ii] === B[jj]){
                    sameList.push(A[ii]);
                    ii++;
                    jj++;
                }
                if(sameList.length > maxList.length){
                    maxList = sameList;
                }
            }
        }
    }
    return maxList.length;
};