Вхідні дані
Буквено-цифровий рядок s.
Вихід
Найкоротший рядок, що виникає рівно один раз у вигляді (суміжного) підрядка в s. Події, що перекриваються, вважаються чіткими. Якщо є кілька кандидатів однакової довжини, ви повинні вивести їх усіх у порядку виникнення. У цьому виклику порожня рядок трапляється n + 1раз у рядку довжиною 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"]
Таблиця лідерів
Ось мовна таблиця мов, яку я пообіцяв.
Щоб переконатися, що ваша відповідь відображається, будь ласка, почніть свою відповідь із заголовка, використовуючи наступний шаблон Markdown:
# 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>