<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="cs">
	<id>http://postgres.cz/index.php?action=history&amp;feed=atom&amp;title=Hled%C3%A1n%C3%AD_nejdel%C5%A1%C3%ADho_spole%C4%8Dn%C3%A9ho_pod%C5%99et%C4%9Bzce</id>
	<title>Hledání nejdelšího společného podřetězce - Historie editací</title>
	<link rel="self" type="application/atom+xml" href="http://postgres.cz/index.php?action=history&amp;feed=atom&amp;title=Hled%C3%A1n%C3%AD_nejdel%C5%A1%C3%ADho_spole%C4%8Dn%C3%A9ho_pod%C5%99et%C4%9Bzce"/>
	<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=Hled%C3%A1n%C3%AD_nejdel%C5%A1%C3%ADho_spole%C4%8Dn%C3%A9ho_pod%C5%99et%C4%9Bzce&amp;action=history"/>
	<updated>2026-05-13T02:31:28Z</updated>
	<subtitle>Historie editací této stránky</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://postgres.cz/index.php?title=Hled%C3%A1n%C3%AD_nejdel%C5%A1%C3%ADho_spole%C4%8Dn%C3%A9ho_pod%C5%99et%C4%9Bzce&amp;diff=483&amp;oldid=prev</id>
		<title>imported&gt;Pavel: Nová stránka: Pro výběr nejdelšího společného podřetězce jsem si napsal dvě funkce.  První generuje všechny podřetězce v řetězci: &lt;pre&gt; CREATE OR REPLACE FUNCTION substrings(text)  ...</title>
		<link rel="alternate" type="text/html" href="http://postgres.cz/index.php?title=Hled%C3%A1n%C3%AD_nejdel%C5%A1%C3%ADho_spole%C4%8Dn%C3%A9ho_pod%C5%99et%C4%9Bzce&amp;diff=483&amp;oldid=prev"/>
		<updated>2010-06-04T07:47:59Z</updated>

		<summary type="html">&lt;p&gt;Nová stránka: Pro výběr nejdelšího společného podřetězce jsem si napsal dvě funkce.  První generuje všechny podřetězce v řetězci: &amp;lt;pre&amp;gt; CREATE OR REPLACE FUNCTION substrings(text)  ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nová stránka&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Pro výběr nejdelšího společného podřetězce jsem si napsal dvě funkce.&lt;br /&gt;
&lt;br /&gt;
První generuje všechny podřetězce v řetězci:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE OR REPLACE FUNCTION substrings(text) &lt;br /&gt;
RETURNS text[] AS $$ &lt;br /&gt;
SELECT array(SELECT DISTINCT substring($1 from i for j) &lt;br /&gt;
                FROM generate_series(1, length($1)) g(i), &lt;br /&gt;
                     generate_series(1, length($1)) h(j)&lt;br /&gt;
            )&lt;br /&gt;
$$ LANGUAGE sql;&lt;br /&gt;
&lt;br /&gt;
postgres=# SELECT substrings(&amp;#039;pavel&amp;#039;);&lt;br /&gt;
                     substrings                      &lt;br /&gt;
-----------------------------------------------------&lt;br /&gt;
 {e,vel,avel,p,pav,a,pavel,pa,av,ve,ave,l,pave,el,v}&lt;br /&gt;
(1 row)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Druhá vrací pole nejdelších společných podřetězců:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE OR REPLACE FUNCTION max_common_substring(text, text) &lt;br /&gt;
RETURNS text[] AS $$ &lt;br /&gt;
  SELECT ARRAY(SELECT x &lt;br /&gt;
                  FROM (SELECT $1, x, length(x), rank() OVER (ORDER BY length(x) DESC) &lt;br /&gt;
                           FROM unnest(substrings($2)) g(x) &lt;br /&gt;
                          WHERE strpos($1,x) &amp;gt; 0) xx &lt;br /&gt;
                 WHERE rank = 1) &lt;br /&gt;
$$ LANGUAGE sql;&lt;br /&gt;
&lt;br /&gt;
postgres=# SELECT max_common_substring(&amp;#039;stěhula&amp;#039;,&amp;#039;stěhule&amp;#039;);&lt;br /&gt;
 max_common_substring &lt;br /&gt;
----------------------&lt;br /&gt;
 {stěhul}&lt;br /&gt;
(1 row)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;Pavel</name></author>
	</entry>
</feed>