입력
영숫자 문자열 s
입니다.
산출
에서 (연속적인) 하위 문자열로 정확히 한 번 발생하는 가장 짧은 문자열입니다 s
. 중복 발생은 별개의 것으로 계산됩니다. 길이가 같은 후보가 여러 개있는 경우 모든 후보를 발생 순서대로 출력해야합니다. 이 도전에서, 빈 n + 1
문자열은 length의 문자열에서 시간이 발생합니다 n
.
예
문자열을 고려
"asdfasdfd"
빈 문자열은 10 번 발생하므로 고유 한 발생의 후보가 아닙니다. 문자의 각각은 "a"
, "s"
, "d"
, 그리고 "f"
그들이 후보 중 하나되지 않도록, 두 번 이상 발생합니다. 부분 캐릭터 "fa"
와 "fd"
길이 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>