var QUESTION_ID=62587,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/63075/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
x
iguais ax
?Pitão, 9 bytes
Demonstração
Usa Vihan et. abordagem de sufixos de al.
fonte
ShapeScript ,
5747 bytesEu criei o ShapeScript para esta competição . O intérprete no GitHub tem uma sintaxe ligeiramente modificada.
Experimente online!
fonte
CJam,
1514 bytesExperimente este violino no intérprete CJam ou verifique todos os casos de teste de uma só vez.
Como funciona
fonte
J, 11 caracteres
Saídas
1
em palavras Lyndon e0
outros.<\.
usa sufixos e depois/:
nos diz como classificá-los lexicograficamente.{
pega a entrada no0
-ésimo índice e0=
verifica se é zero: se for, temos uma palavra de Lyndon, porque o maior sufixo não mudaria de lugar em uma espécie; se for diferente de zero, não é uma palavra de Lyndon, porque algum sufixo é lexicograficamente anterior.fonte
TeaScript , 10 bytes
Muito golfe, muito curto. Experimente online
Explicação && Ungolfed
fonte
00
, mas como isso acontece sem que se pareça igual a si mesmo (ou seja, quandoi==0
)?Haskell, 29
Verifica se
s
há no máximo cada um dos sufixos não vazios, como a resposta de nimi .A expressão
scanr(:)[]
gera a lista de sufixos listando.O
init
então se livra da string vazia no final. Por fim,all(s<=)
verifica se todo sufixo éx
satisfatórios<=x
. Como o primeiro sufixo és
ele próprio,<=
é necessário.fonte
Ruby, 37 bytes
Teste:
fonte
Burlesco, 15 bytes
Principalmente 8 desses 7 bytes devem verificar se não estão vinculados. Caso contrário, você pode usar simplesmente
JiR<]==
.Explicação:
fonte
Pitão - 12 bytes
Espero jogar um pouco de golfe.
Experimente online .
fonte
Javascript (ES6), 129 bytes
fonte
Javascript,
9187 bytesEstou basicamente concatenando a palavra consigo mesma e verificando se ela ainda está lá. Para verificar se é o menor número possível, basta verificar se começa com 0 e termina com 1.
Testes
fonte
Mathematica, 86 bytes
entrada
fonte