我想比较两个数字数组(无重复项),以找到两个原始数组中都出现的长度大于等于2的所有子数组。
我正在寻找最有效的方法来实现这一目标。
这让我想起了最长公共子字符串问题阅读Wiki页面,它对问题有很好的描述,提供了很好的参考,甚至还有伪代码。有两种解决方法:后缀树和动态编程。后缀树似乎是一种更有效的解决方案,但它可能会更复杂,具体取决于您的实现。
如果您不熟悉Dynamic Programming,请继续阅读。您的问题和最长的公共子字符串之间的唯一区别是,您拥有一个唯一的整数数组,而这里的字符串中有重复的字符。
您可能会利用它来发挥自己的优势,但我认为您不会获得重大的效率提升。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句