Eingang
Eine alphanumerische Zeichenfolge s.
Ausgabe
Die kürzeste Zeichenfolge, die genau einmal als (zusammenhängende) Teilzeichenfolge in vorkommt s. Überlappende Vorkommen werden als unterschiedlich gezählt. Wenn es mehrere Kandidaten gleicher Länge gibt, müssen Sie alle in der Reihenfolge ihres Auftretens ausgeben. Bei dieser Herausforderung kommt die leere Zeichenfolge n + 1einige Male in einer Zeichenfolge mit einer Länge vor n.
Beispiel
Betrachten Sie die Zeichenfolge
"asdfasdfd"
Die leere Zeichenfolge kommt zehnmal in der Zeichenfolge vor, sodass sie nicht für ein eindeutiges Vorkommen in Frage kommt. Jeder der Buchstaben "a", "s", "d", und "f"tritt mindestens zweimal, so dass sie nicht entweder Kandidaten. Die Teilzeichenfolgen "fa"und "fd"kommen nur einmal und in dieser Reihenfolge vor, während alle anderen Teilzeichenfolgen der Länge 2 zweimal vorkommen. Somit ist die korrekte Ausgabe
["fa","fd"]
Regeln
Es sind sowohl Funktionen als auch vollständige Programme zulässig und Standardlücken nicht. Die genaue Formatierung der Ausgabe ist innerhalb des Rahmens flexibel. Insbesondere ist es zulässig, für die leere Zeichenfolge keine Ausgabe zu erzeugen, für das Auslösen eines Fehlers jedoch nicht. Die niedrigste Byteanzahl gewinnt.
Testfälle
"" -> [""]
"abcaa" -> ["b","c"]
"rererere" -> ["ererer"]
"asdfasdfd" -> ["fa","fd"]
"ffffhhhhfffffhhhhhfffhhh" -> ["hffff","fffff","hhhhh","hfffh"]
"asdfdfasddfdfaddsasadsasadsddsddfdsasdf" -> ["fas","fad","add","fds"]
Bestenliste
Hier ist die Bestenliste nach Sprachen, die ich versprochen habe.
Um sicherzustellen, dass Ihre Antwort angezeigt wird, beginnen Sie Ihre Antwort mit einer Überschrift. Verwenden Sie dazu die folgende Markdown-Vorlage:
# Language Name, N bytes
Wo Nist die Größe Ihres Beitrags? Wenn Sie Ihren Score zu verbessern, Sie können alte Rechnungen in der Überschrift halten, indem man sich durch das Anschlagen. Zum Beispiel:
# 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>