Đưa ra một danh sách các chuỗi, thay thế mỗi chuỗi bằng một trong các chuỗi không trống của nó không phải là chuỗi con của bất kỳ chuỗi nào khác trong danh sách và càng ngắn càng tốt.
Thí dụ
Với danh sách ["hello","hallo","hola"]
, "hello"
nên được thay thế bằng cách chỉ "e"
là chuỗi con này không được chứa trong "hallo"
và "hola"
và nó là càng ngắn càng tốt. "hallo"
có thể được thay thế bằng một "ha"
hoặc "al"
và "hola"
bởi bất kỳ "ho"
, "ol"
hoặc "la"
.
Quy tắc
- Bạn có thể giả sử rằng các chuỗi sẽ không trống và chỉ chứa các ký tự chữ cái của cùng một trường hợp.
- Bạn có thể giả sử rằng một chuỗi con như vậy tồn tại cho mỗi chuỗi trong danh sách, tức là không có chuỗi nào trong danh sách sẽ là một chuỗi con của bất kỳ chuỗi nào khác.
- Đầu vào và đầu ra có thể ở bất kỳ định dạng hợp lý.
- Đây là môn đánh gôn , vì vậy hãy cố gắng sử dụng càng ít byte càng tốt trong ngôn ngữ bạn chọn.
Các trường hợp thử nghiệm
Chỉ có một đầu ra có thể được đưa ra cho hầu hết các trường hợp.
["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"]
Liên quan: Chuỗi xác định ngắn nhất - ý tưởng tương tự, nhưng liên quan nhiều hơn đến các quy tắc và định dạng rườm rà.
""
(chuỗi rỗng) xác định duy nhất cho"ppcg"
trường hợp duy nhất ?