Враховуючи список рядків, замініть кожну рядок однією з її непустих підрядків, яка не є підрядкою жодної з інших рядків у списку, і якомога коротшою.
Приклад
З огляду на список ["hello","hallo","hola"], "hello"повинні бути замінені тільки "e"як це підрядок не міститься в "hallo"і , "hola"і це якомога коротше. "hallo"може бути замінений або "ha"або "al"і "hola"будь-яким "ho", "ol"або "la".
Правила
- Ви можете припустити, що рядки будуть не порожніми і містять лише алфавітні символи того самого випадку.
- Можна припустити, що така підрядка існує для кожної рядки у списку, тобто жодна рядок у списку не буде підрядкою будь-якого з інших рядків.
- Введення та вихід можуть бути у будь-якому розумному форматі.
- Це код-гольф , тому намагайтеся використовувати якомога менше байтів мовою, яку ви обрали.
Випробування
У більшості випадків подається лише один можливий вихід.
["ppcg"] -> ["p"] (or ["c"] or ["g"])
["hello","hallo","hola"] -> ["e","ha","ho"]
["abc","bca","bac"] -> ["ab","ca","ba"]
["abc","abd","dbc"] -> ["abc","bd","db"]
["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"]
["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"]
Пов’язано: Найкоротша ідентифікаційна підрядка - схожа ідея, але більше стосується правил та громіздкого формату.
""(порожній рядок) однозначно ідентифікує для одного"ppcg"випадку?