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
yang sama denganx
?Pyth, 9 byte
Demonstrasi
Menggunakan Vihan et. Pendekatan sufiks al.
sumber
ShapeScript ,
5747 byteSaya membuat ShapeScript untuk kompetisi ini . The interpreter pada GitHub memiliki sintaks yang sedikit dimodifikasi.
Cobalah online!
sumber
CJam,
1514 byteCoba biola ini dalam juru bahasa CJam atau verifikasi semua kasus uji sekaligus.
Bagaimana itu bekerja
sumber
J, 11 char
Output
1
pada kata-kata Lyndon dan0
sebaliknya.<\.
mengambil sufiks dan kemudian/:
memberi tahu kami cara mengurutkannya secara leksikografis.{
mengambil entri pada0
indeks -th dan0=
memeriksa apakah nol: jika ya, kita memiliki kata Lyndon, karena akhiran terbesar tidak akan berubah tempat dalam bentuk; jika bukan nol, itu bukan kata Lyndon, karena beberapa sufiks secara leksikografis lebih awal.sumber
TeaScript , 10 byte
Sangat golf, pendek. Cobalah online
Penjelasan && Tidak Disatukan
sumber
00
, tetapi bagaimana cara melakukan ini tanpa mengetahui bahwa dirinya sama dengan dirinya sendiri (yaitu kapani==0
)?Haskell, 29
Cek apakah
s
paling banyak sufiksnya tidak kosong, seperti jawaban nimi .Ekspresi
scanr(:)[]
menghasilkan daftar sufiks dengan mendaftar.The
init
kemudian menghilangkan string kosong di akhir. Akhirnya,all(s<=)
periksa apakah setiap sufiksx
memuaskans<=x
. Karena akhiran pertama itus
sendiri, maka<=
diperlukan.sumber
Ruby, 37 byte
Pengujian:
sumber
Burlesque, 15 byte
Terutama 8 dari 7 byte itu untuk memeriksa apakah tidak mengikat. Kalau tidak, Anda bisa pergi dengan sederhana
JiR<]==
.Penjelasan:
sumber
Pyth - 12 byte
Harapan untuk bermain golf sedikit.
Coba online .
sumber
Javascript (ES6), 129 byte
sumber
Javascript,
9187 byteSaya pada dasarnya menggabungkan kata dengan dirinya sendiri dan memeriksa apakah itu masih ada. Untuk memeriksa apakah itu adalah angka terkecil yang mungkin, saya hanya memeriksa bahwa itu dimulai dengan 0 dan diakhiri dengan 1.
Tes
sumber
Mathematica, 86 byte
memasukkan
sumber