如何找到每个大小为 n 的 m 个数组的最长公共子数组?

How to find the Longest Common Subarray of m arrays each of size n?

我们有一个 M 行的 2D 矩阵 A,其中每一行都填充了从 1N (A[M][N])

我们必须确定矩阵所有行中最长公共子数组的长度

示例:

A = {{1,2,3,4},{3,4,1,2},{3,1,2,4}}

Longest common Subarray {1,2}

Length of LCS = 2

Output = 2

我不需要代码只是一个优化建议。

1)遍历每个数组,设第i个数组为A[i]
2)遍历A[i]的每个子数组,计算它们的散列,并将它们与子数组的
长度一起放入map<pair<hashType, int>, int>,计算散列出现的次数
3)找到最大长度出现n次的hash
如果您对下面的评论有任何疑问