これは一例で最もよく説明されています。段落を考える:周波数の順序で最も長い部分文字列を見つけるにはどうすればよいですか?
The longest string in this paragraph is not the shortest string in the paragraph because it is the longest string in the paragraph
私は、この場合には、それは(非大文字と小文字を区別)
-
を一覧表示する必要がありますので、周波数によって最初のサブ文字列をマッチングして、長さの順番を一覧表示したいです
The longest string in
the paragraph
is not the shortest string in
because
it is
this
上記リストサブストリングの長さに続くそれらが起こる頻度順によって、そうThe longest string in
を二回繰り返し、最長ストリングです。 is not the shortest string in
はthe paragraph
よりも長くなりますが、the paragraph
が2回繰り返されるため、最初にリストされます。 (AlexCとMattBurlandによる観察に基づく)
更新:このような空白文字またはin
などのサブストリングが他のストリングよりも多く発生した場合でも、それらが既に含まれている場合
、それらがリストされるべきではありませんその出現*長さよりも長い部分文字列。たとえば、in
は3回発生し、長さは6文字(最後にスペースを含む9文字)ですが、9文字はthe paragraph
よりも短いため、リストには含まれません。私はこれが意味をなさないと思いますか?
http://ja.wikipedia.org/wiki/Longest_common_subsequence_problem –
@MattBurland - ああ、素敵なキャッチ、あなたは良い点があります。私はその質問を言い換えるべきだと思います。 'in' x 3が別の部分文字列x nより大きい場合、' in'が最初にリストされるべきです。それは理にかなっていますか?しかし、inが* occurencesよりも長い部分文字列にすでに含まれている場合、それはリストされてはなりません。 – Xaisoft
部分文字列が 'i'に続いて最も一般的になるため、部分文字列を探しているとは思いません。それはあなたが単語の完全な単語/組み合わせを探しているように聞こえる。 – AlexC