Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,94 @@
|
|||
PROGRAM LongestCommonSubString.pas;
|
||||
|
||||
|
||||
{$IFDEF FPC}
|
||||
{$mode objfpc}{$H+}{$J-}{$m+}{$R+}{$T+}
|
||||
{$ELSE}
|
||||
{$APPTYPE CONSOLE}
|
||||
{$ENDIF}
|
||||
|
||||
(*)
|
||||
|
||||
Free Pascal Compiler version 3.2.2 [2022/08/01] for x86_64
|
||||
|
||||
The free and readable alternative at C/C++ speeds
|
||||
compiles natively to almost any platform, including raspberry PI *
|
||||
Can run independently from DELPHI / Lazarus
|
||||
|
||||
https://www.freepascal.org/advantage.var
|
||||
|
||||
Version without `USES SysUtils, Variants ;` and without `SubStr`, we do not need it here...
|
||||
|
||||
|
||||
(*)
|
||||
|
||||
FUNCTION IFF ( Cond: boolean; A, B: string ) : string ;
|
||||
|
||||
BEGIN IF ( Cond ) THEN IFF := A ELSE IFF := B ; END ;
|
||||
|
||||
|
||||
FUNCTION lcss( S1, S2: string ) : string ;
|
||||
|
||||
VAR
|
||||
|
||||
j : Integer = 0 ;
|
||||
|
||||
k : Integer = 0 ;
|
||||
|
||||
S : string = '' ;
|
||||
|
||||
BEGIN
|
||||
|
||||
|
||||
lcss := '' ;
|
||||
|
||||
FOR j := 0 TO length ( S1 ) DO BEGIN
|
||||
|
||||
FOR k := length ( S1 ) - j DOWNTO 1 DO BEGIN
|
||||
|
||||
S := Copy(S1, (j + 1), (k + j + 1)) ;
|
||||
|
||||
IF ( pos ( S, S2 ) > 0 ) AND
|
||||
( length ( S ) > length ( lcss ) ) THEN BEGIN
|
||||
|
||||
lcss := S ;
|
||||
|
||||
BREAK ;
|
||||
|
||||
END ;
|
||||
|
||||
END ;
|
||||
|
||||
END ;
|
||||
|
||||
|
||||
END ; (*) FUNCTION lcss (*)
|
||||
|
||||
|
||||
|
||||
VAR
|
||||
|
||||
S1: string = 'thisisatest' ;
|
||||
|
||||
S2: string = 'testing123isatesting' ;
|
||||
|
||||
|
||||
BEGIN
|
||||
|
||||
IF ParamCount = 2 THEN BEGIN
|
||||
|
||||
S1 := IFF( ( ParamStr ( 1 ) > '' ), ParamStr ( 1 ) , S1 );
|
||||
|
||||
S2 := IFF( ( ParamStr ( 2 ) > '' ), ParamStr ( 2 ) , S1 );
|
||||
|
||||
END;
|
||||
|
||||
Writeln ( 'string A = ', S1 ) ;
|
||||
|
||||
Writeln ( 'string B = ', S2 ) ;
|
||||
|
||||
WriteLn ( Lcss ( S1, S2 ) ) ;
|
||||
|
||||
END. (*) Of PROGRAM LongestCommonSubString.pas (*)
|
||||
|
||||
(*)
|
||||
Loading…
Add table
Add a link
Reference in a new issue