Мета:
Давши масив рядків, створіть скорочені версії кожного рядка.
Специфікація:
Для цього завдання абревіатура - це перші N символів рядка. Для рядка abc: a, abі abcвсі дійсні скорочення, в той час bc, і acнемає.
Враховуючи масив рядків, ми хочемо знайти найкоротший набір скорочень, такий, що з огляду на введення та будь-яку абревіатуру, ви могли б визначити, до якого елемента введення йдеться абревіатура.
Приклад:
Вхід: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
Ми працюємо по струнах, починаючи з першої.
Понеділок - це лише рядок з символом
M, тому найкоротший можливий абревіатураM.Вівторок починається з
T, але так чинить і четвер. Це означає, що ми пробуємо рядокTU. Оскільки жоден інший рядок не починається з цього, ми використовуємоTU.Середа є
W, четвер єTh, а п’ятниця -F.
Більше прикладів:
Input: "one,two,three,four,five,six,seven"
Output: "o,tw,th,fo,fi,si,se"
Input: "red,orange,yellow,green,blue,purple"
Output: "r,o,y,g,b,p"
Input: "a,ab,abc"
Output: Not valid! No abbreviation for `a` that doesn't apply to the other items.
Примітки:
Ви робите введення та вихід будь-яким розумним способом.
Можна припустити, що вхід завжди буде дійсним масивом рядків.
Можна припустити, що рішення завжди знайдеться, на відміну від останнього тестового випадку.
Рядки будуть складатися лише з ASCII для друку (або символи для друку у кодуванні)
Це кодовий гольф, тому виграє найменше байтів!
Uна вівторок, а в нижній регістр - hу четвер.