Diberikan daftar string, ganti setiap string dengan salah satu substring yang tidak kosong yang bukan substring dari string lain dalam daftar dan sesingkat mungkin.
Contoh
Diberikan daftar ["hello","hallo","hola"]
, "hello"
harus diganti hanya "e"
karena substring ini tidak terkandung dalam "hallo"
dan "hola"
dan sesingkat mungkin. "hallo"
dapat diganti dengan baik "ha"
atau "al"
dan "hola"
oleh salah "ho"
, "ol"
atau "la"
.
Aturan
- Anda dapat mengasumsikan bahwa string tidak akan kosong dan hanya berisi karakter alfabet dari kasus yang sama.
- Anda dapat mengasumsikan bahwa substring seperti itu ada untuk setiap string dalam daftar, yaitu tidak ada string dalam daftar yang akan menjadi substring dari salah satu string lainnya.
- Input dan output dapat dalam format apa pun yang masuk akal.
- Ini adalah kode-golf , jadi coba gunakan sesedikit mungkin byte dalam bahasa pilihan Anda.
Uji Kasus
Hanya satu output yang mungkin diberikan untuk sebagian besar kasus.
["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"]
Terkait: Substring Identifikasi Terpendek - ide serupa, tetapi lebih banyak melibatkan aturan dan format rumit.
""
(string kosong) secara unik mengidentifikasi untuk"ppcg"
case tunggal ?