Sekme tamamlama , kısmen yazılmış komutları otomatik olarak tamamlayan kullanışlı bir özelliktir. Bunu uygulayacaksın.
Örneğin, eğer mevcut komutlar olsaydı ['apply','apple','apple pie','eat']
, o a
zaman appl
başlayacak olan tüm komutlar ile a
de başlayacağı gibi, tamamlanmış olacaktı appl
.
Giriş çıkış
Bir dize, A ve bir dizi dize girmeniz gerekir.
A ile başlayan B'nin en uzun önekini çıkarmanız gerekir.
- Seçeneklerden hiçbiri A ile başlamazsa, A ile geri dönün.
- B'nin boş olmadığını ve tüm dizelerin boş olmadığını varsayabilirsiniz.
- Seçeneklerden herhangi birinin A ile başladığını ya da ortak ön ekin A'dan daha uzun olacağını varsayamazsınız.
- Büyük / küçük harfe duyarlı veya büyük / küçük harf duyarlı olmayabilir.
- Yalnızca yazdırılabilir ASCII'yi kullanmanız gerekir.
- Açıkça bu görevi yapan yerleşiklere izin verilir
Test durumları:
'a' ['apply','apple','apple pie','eat'] => 'appl'
'a' ['apple pie'] => 'apple pie'
'apple' ['eat','dine'] => 'apple'
'program' ['programa','programb'] => 'program'
'*%a(' ['*%a()-T>','*%a()-T<','@Da^n&'] => '*%a()-T'
'a' ['abs','absolute','answer'] => 'a'
'a' ['a','abs'] => 'a'
'one to' ['one to one','one to many'] => 'one to '
Son sınama durumundaki izleyen boşluğa dikkat edin
Bu bir kod golfüdür , bu yüzden cevaplarınızı mümkün olduğunca kısa yapın!
\
ya da içeren girdilerden kırıldığını fark ettim '
.
'
Bir örnekte nasıl temsil edileceğinden emin değilim . "
Dizeler için kullanırsam , dizeler diğer örneklerden farklıdır.