Jump to content

Longest common substring: Difference between revisions

Ada version
m (→‎Python :: Functional: Updated primitives)
(Ada version)
Line 38:
print(longest_common_substring(‘thisisatest’, ‘testing123testing’))</lang>
 
{{out}}
<pre>
test
</pre>
 
=={{header|Ada}}==
<lang Ada>with Ada.Text_Io;
 
procedure Longest_Common_Substring is
 
function Common (Left, Right: String) return String is
Com : array (Left'Range, Right'Range) of Natural := (others => (others => 0));
Longest : Natural := 0;
Last : Natural := 0;
begin
for L in Left'Range loop
for R in Right'Range loop
if Left (L) = Right (R) then
if L > Left'First and R > Right'First then
Com (L, R) := Com (L - 1, R - 1) + 1;
else
Com (L, R) := 1;
end if;
if Com (L, R) > Longest then
Longest := Com (L, R);
Last := L;
end if;
end if;
end loop;
end loop;
return Left (Last - Longest + 1 .. Last);
end Common;
 
begin
Ada.Text_Io.Put_Line (Common ("thisisatest", "testing123testing"));
end Longest_Common_Substring;</lang>
{{out}}
<pre>
211

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.