如何解决查找出现在两个整数中的最长连续整数序列
我得到了两个整数 X 和 Y。目标是找到出现在 X 和 Y 中的最长连续序列。因此,如果 X = 124534891 和 Y = 324534768,则输出将是 24534因为我们有 124534891 和 324534768。整数可以有不同的长度。
解决方法
这是对 Longest common substring problem 的修改。
将数字视为字符串并应用与 LCS 问题相同的算法。
这是入门的伪代码,
function maxConsecutiveSequence(A,B):
S[N] = toString(A)
T[M] = toString(B)
L = array(N,M)
len = 0
ans = {}
for i = 1 to r
for j = 1 to n
if S[i] = T[j]
if i = 1 or j = 1
L[i][j] = 1
else
L[i][j] = L[i - 1][j - 1] + 1
if L[i][j] > len
len = L[i][j]
ans = {S[i − z + 1..i]}
else if L[i][j] = len
ans = ans ∪ {S[i − z + 1..i]}
else
L[i][j] = 0
return ans
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。