入力
英数字の文字列s
。
出力
内の(連続した)サブストリングとして1回だけ出現する最短のストリングs
。重複するオカレンスは個別としてカウントされます。同じ長さの候補が複数ある場合は、それらをすべて発生順に出力する必要があります。このチャレンジでは、空の文字n + 1
列はlengthの文字列で何度も発生しますn
。
例
文字列を考えます
"asdfasdfd"
空の文字列は10回出現するため、一意の出現の候補ではありません。手紙のそれぞれ"a"
、"s"
、"d"
、と"f"
彼らはどちらかの候補ではないので、少なくとも2回出現します。サブストリング"fa"
と"fd"
は、この順序で1回だけ出現しますが、長さ2の他のすべてのサブストリングは2回出現します。したがって、正しい出力は
["fa","fd"]
ルール
関数と完全なプログラムの両方が許可されていますが、標準の抜け穴は許可されていません。出力の正確なフォーマットは、理由の範囲内で柔軟です。特に、空の文字列の出力を生成することはできませんが、エラーをスローすることはできません。最も低いバイトカウントが優先されます。
テストケース
"" -> [""]
"abcaa" -> ["b","c"]
"rererere" -> ["ererer"]
"asdfasdfd" -> ["fa","fd"]
"ffffhhhhfffffhhhhhfffhhh" -> ["hffff","fffff","hhhhh","hfffh"]
"asdfdfasddfdfaddsasadsasadsddsddfdsasdf" -> ["fas","fad","add","fds"]
リーダーボード
これが私が約束した言語別のリーダーボードです。
回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。
# Language Name, N bytes
N
提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば:
# Ruby, <s>104</s> <s>101</s> 96 bytes
<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>site = 'meta.codegolf',postID = 5314,isAnswer = true,QUESTION_ID = 45056;jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)<\\/code><\/pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>