例如:字符串A:“01234567890”长度为10、字符串B:“01238767890”长度也为10;
两个长度相同的字符串比较,求它们最多并且连续的相同号最大长度是多少?
上面最大长度就是4。可算法如何设计呢?我感觉有点难度,故向高手请教了!
写过的给个参考算法,先谢谢了
两个长度相同的字符串比较,求它们最多并且连续的相同号最大长度是多少?
上面最大长度就是4。可算法如何设计呢?我感觉有点难度,故向高手请教了!
写过的给个参考算法,先谢谢了
解决方案 »
- 调用存储过程的问题
- Edit的问题。
- 急急,,,有关数据查找的问题,高分相谢!!,如果分不够,再开贴,。
- 高手提点一下,怎么判断一个小时不动鼠标和键盘呢
- 向空表添加记录的问题,急!!
- 如何把WIN2000传真服务接收下来的TIF格式图片转成BMP?
- 请问超级兔子的那个界面是怎么作出来的?好像是一个Pagecontrol控件,但他的按扭(标签)是平 的?当鼠标移进时按扭(标签)怎么变颜色?
- 请问如何用IWebbrowser2捕获网页跳转事件
- 关于Combo控件,加分
- 急:如何单独的取得dbGrid表格里的每一项数据
- 关于更改从表中的数据问题
- 在DELPHI中如何卸载WINDOWS的IPX网络协议??
12345aaaaa
abcde12345这个算是 5还是0?
好象是strcmp()不知道记得对还是不对了
var a,b:PChar;
i:integer;
begin
a:='12345aaaaa';
b:='abcde12345';
for i:=1 to length(a) do
if not CompareMem(a,b,i) then
begin
ShowMessage(IntToStr(i-1));
break;
end;
end;
a:='123aaa12345';
b:='12312x12345';
进行比较结果是3而不是5!所以也不太理想!!
i,j,m,max:integer;
begin
max:=0;
a:='123aaa12';
b:='12312x12345';
for i:=1 to length(a) do
begin
m:=0;
for j:=i to length(a) do
if a[j]=b[j] then m:=m+1
else break;
if m>max then max:=m;
end;
ShowMessage(IntToStr(max));
end;
var
A, B: string;
I, J: Integer;
begin
A := '01234567890';
B := '01238767890';
J := 0;
for I := 1 to Length(A) do
if A[I] <> B[I] then
begin
J := I - 1;
Break;
end;
ShowMessage(IntToStr(J));
end;
A, B: string;
I, J: Integer;
begin
A := '01234567890';
B := '01238767890';
J := Length(A); //这就修改一下,避免完全相同的情况得到0
for I := 1 to Length(A) do
if A[I] <> B[I] then
begin
J := I - 1;
Break;
end;
ShowMessage(IntToStr(J));
end;