Aller au contenu

Module:LCS

Une page de Wikipédia, l'encyclopédie libre.
Ceci est la version actuelle de cette page, en date du 16 juillet 2017 à 11:02 et modifiée en dernier par TomT0m (discuter | contributions) (Nouvelle page : p = { -- https://github.com/acmeism/RosettaCodeData/blob/master/Task/Longest-common-subsequence/Lua/longest-common-subsequence.lua LCS = function (a, b ) if #a == 0 or #b...). L'URL présente est un lien permanent vers cette version.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

 Documentation[créer] [purger]
p = {
-- https://github.com/acmeism/RosettaCodeData/blob/master/Task/Longest-common-subsequence/Lua/longest-common-subsequence.lua
	LCS = function (a,  b )
	    if #a == 0 or #b == 0 then
	        return ""
	    elseif string.sub( a, -1, -1 ) == string.sub( b, -1, -1 ) then
	        return LCS( string.sub( a, 1, -2 ), string.sub( b, 1, -2 ) ) .. string.sub( a, -1, -1 )
	    else
	        local a_sub = LCS( a, string.sub( b, 1, -2 ) )
	        local b_sub = LCS( string.sub( a, 1, -2 ), b )
	
	        if #a_sub > #b_sub then
	            return a_sub
	        else
	            return b_sub
	        end
	    end
	end
}

return p