关于网友提出的“ 求一算法两字符串abcdef123与xbcyzf123最大相同字符串数”问题疑问,本网通过在网上对“ 求一算法两字符串abcdef123与xbcyzf123最大相同字符串数”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 求一算法两字符串abcdef123与xbcyzf123最大相同字符串数
描述: 两长度相同的字符串,如:abcdef123与
xbcyzf123
返回相同对应相同的字符串的最大个数,以上字符串相同的有bc和f123.我想让其返回的数据相同数为4而不是为2
要求其位置必须相同!!如:
abcdef1233与
xbcf123233
以上对应位置中完全相同的字符串为3,即字符串233
解决方案1:
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;
以上介绍了“ 求一算法两字符串abcdef123与xbcyzf123最大相同字符串数”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2323338.html