İşte nasıl bir dizeden diğerine geri almak ve yeniden yazmak için:
- İlk dizeden başlayın.
- Sonuç, ikinci dizgenin ön eki olana kadar karakterleri kaldırın . (Bu 0 adım alabilir.)
- Sonuç ikinci dizgiye eşit olana kadar sonuna karakter ekleyin. (Bu da 0 adım alabilir.)
Örneğin, gelen yol fooabc
için fooxyz
görünüyor gibi:
fooabc
fooab
fooa
foo
foox
fooxy
fooxyz
Görev
Kelimelerin bir listesini göz önüne alındığında, bu bir programı yazmak için geri silme-ve-retypes geri boş bir dizeye, arkaya listedeki tüm kelimelerle, boş dize gelen yolunda. Tüm ara dizeleri çıkar.
Örneğin, giriş listesi göz önüne alındığında ["abc", "abd", "aefg", "h"]
, çıktı şöyle olmalıdır:
a
ab
abc
ab
abd
ab
a
ae
aef
aefg
aef
ae
a
h
kurallar
Bir dizi listesini veya bazı sınırlayıcıları içeren tek bir dize döndürebilir veya yazdırabilirsiniz. Sen olabilir isteğe ilk ve son boş dizeleri içerir. Giriş, en az bir kelime içerecek şekilde garanti edilir ve her kelimenin yalnızca küçük ASCII harfleri içereceği garanti edilir ( a
- z
). Düzenleme: Girişteki ardışık dizelerin birbirlerine eşit olmaması garanti edilir.
Bu kod golf ; bayt cinsinden en kısa kod kazanır.
Python 3'te referans uygulaması: Çevrimiçi deneyin!
["abc","abc"]
?
a,abc,abcde,abc,a,abc,abcde