Memasukkan
String alfanumerik s
.
Keluaran
String terpendek yang muncul tepat sekali sebagai substring (bersebelahan) di s
. Kejadian yang tumpang tindih dihitung sebagai berbeda. Jika ada beberapa kandidat dengan panjang yang sama, Anda harus menampilkan semuanya dalam urutan kejadian. Dalam tantangan ini, string kosong muncul n + 1
kali dalam string panjang n
.
Contoh
Pertimbangkan senarnya
"asdfasdfd"
String kosong muncul 10 kali di dalamnya, jadi itu bukan kandidat untuk kejadian unik. Masing-masing huruf "a"
, "s"
, "d"
, dan "f"
terjadi setidaknya dua kali, sehingga mereka tidak kandidat baik. Substring "fa"
dan "fd"
terjadi hanya sekali dan dalam urutan ini, sedangkan semua substring panjang 2 lainnya terjadi dua kali. Dengan demikian output yang benar adalah
["fa","fd"]
Aturan
Baik fungsi dan program penuh diizinkan, dan celah standar tidak. Pemformatan yang tepat dari output fleksibel, masuk akal. Khususnya, tidak menghasilkan output untuk string kosong diperbolehkan, tetapi tidak menghasilkan kesalahan. Hitungan byte terendah menang.
Uji kasus
"" -> [""]
"abcaa" -> ["b","c"]
"rererere" -> ["ererer"]
"asdfasdfd" -> ["fa","fd"]
"ffffhhhhfffffhhhhhfffhhh" -> ["hffff","fffff","hhhhh","hfffh"]
"asdfdfasddfdfaddsasadsasadsddsddfdsasdf" -> ["fas","fad","add","fds"]
Papan peringkat
Inilah papan peringkat berdasarkan bahasa yang saya janjikan.
Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:
# Language Name, N bytes
di mana N
ukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda dapat menyimpan skor lama di headline, dengan mencoretnya. Contohnya:
# 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>