求一算法两字符串abcdef123与xbcyzf123最大相同字符串数

cnhxjtoa 2008-01-09 02:26:06
两长度相同的字符串,如:abcdef123与
xbcyzf123
返回相同对应相同的字符串的最大个数,以上字符串相同的有bc和f123.我想让其返回的数据相同数为4而不是为2
要求其位置必须相同!!如:
abcdef1233与
xbcf123233
以上对应位置中完全相同的字符串为3,即字符串233
...全文
85 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnhxjtoa 2008-01-09
  • 打赏
  • 举报
回复
谢谢老大,你的算法很好
jadeluo 2008-01-09
  • 打赏
  • 举报
回复

procedure LongestSameString(S1, S2: String; var iStart, iLength: Integer);
var
i, j : Integer;
begin
iStart := 0;
iLength := 0;
for i := 1 to Length(S1) do
begin
for j := iLength + 1 to Length(S1) - i + 1 do
begin
if Copy(S1, i, j) = Copy(S2, i, j) then
begin
iStart := i;
iLength := j;
end;
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
iStart , iLength : Integer;
begin
LongestSameString('abcdef1233', 'xbcf123233', iStart, iLength);
ShowMessage (Format('Start = %d, Length = %d', [iStart, iLength]));
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧