Створіть програму або функцію, яка приймає список рядків як вхідний, і виводить найдовший рядок, який є підрядком всіх вхідних рядків. Якщо є кілька підрядків однакової довжини, і більше немає підрядків, виведіть будь-яку з них.
- Це може означати виведення порожнього рядка.
- Якщо є кілька дійсних виходів, ви можете вивести будь-який з них. Вам не потрібно давати послідовний висновок для даного входу до тих пір, поки вихід завжди дійсний.
- У вході завжди буде хоча б один рядок, але може бути не порожній рядок.
- Усі друковані символи ASCII можуть відображатися на вході. Ви можете припустити, що це єдині символи, які з'являються.
- Ви можете взяти введення або отримати вихід будь-яким із методів за замовчуванням .
- Стандартні лазівки заборонені.
- Це код-гольф - чим менше байтів коду, тим краще.
Тестові приклади:
[Inputs] -> [Valid outputs (choose one)]
["hello", "'ello"] -> ["ello"]
["very", "much", "different"] -> [""]
["empty", "", "STRING"] -> [""]
["identical", "identical"] -> ["identical"]
["string", "stRIng"] -> ["st", "ng"]
["this one", "is a substring of this one"] -> ["this one"]
["just one"] -> ["just one"]
["", "", ""] -> [""]
["many outputs", "stuptuo ynam"] -> ["m", "a", "n", "y", " ", "o", "u", "t", "p", "s"]
["many inputs", "any inputs", "ny iii", "yanny"] -> ["ny"]
["%%not&", "ju&#st", "[&]alpha_numeric"] -> ["&"]
undefined
означає, що не існує дійсного вихідного рядка. Якщо порожній рядок (або будь-який інший рядок) є дійсним висновком, стверджуючи, що недійсний висновок є невірним.