博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求最长连续字串
阅读量:4525 次
发布时间:2019-06-08

本文共 1021 字,大约阅读时间需要 3 分钟。

题目链接:

 
#include
<
iostream
>
#include
<
cstring
>
using
namespace
std;
#define
Max_len 1000
char
sz1[Max_len];
char
sz2[Max_len];
int
maxlen[Max_len][Max_len];
int
main()
{
  
int
i,j,n,k1,k2;
cin
>>
n;
while
(n
--
)
{
memset(sz1,
'
\0
'
,
sizeof
(sz1));
memset(sz2,
'
\0
'
,
sizeof
(sz1));
memset(maxlen,
0
,
sizeof
(maxlen));
k1
=
1
;
cin
>>
sz1
+
1
;
int
length1
=
strlen(sz1
+
1
);
for
(i
=
length1;i
>=
1
;i
--
)
{
sz2[k1
++
]
=
sz1[i];
}
int
length2
=
strlen(sz2
+
1
);
for
(i
=
0
;i
<=
length1;i
++
)
maxlen[i][
0
]
=
0
;
for
(i
=
0
;i
<=
length2;i
++
)
maxlen[
0
][i]
=
0
;
for
(i
=
1
;i
<=
length1;i
++
)
{
for
(j
=
1
;j
<=
length2;j
++
)
{
if
(sz1[i]
==
sz2[j])
maxlen[i][j]
=
maxlen[i
-
1
][j
-
1
]
+
1
;
}
}
int
ma
=
k1
=
k2
=
0
;
for
(i
=
1
;i
<=
length1;i
++
)
{
for
(j
=
1
;j
<=
length2;j
++
)
{
if
(maxlen[i][j]
>
ma)
{
ma
=
maxlen[i][j];
k2
=
i;
}
}
}
for
(i
=
k2
-
ma
+
1
;i
<=
k2;i
++
)
cout
<<
sz1[i];
cout
<<
endl;
}
return
0
;
}

转载于:https://www.cnblogs.com/zhaoguanqin/archive/2011/05/24/2055998.html

你可能感兴趣的文章