Giriş
Bu örnek için dize Hello, World!
ve diziyi alalım [3, 2, 3]
. Alt zinciri bulmak için aşağıdaki işlemleri uygularız:
Dizinin ilk sayıdır 3
biz alt dize almak, böylece [0 - 3]
olduğunu Hel
. Ondan sonra, ilk 3
karakterleri bizi bırakan ilk dizgiden kaldırırız lo, World!
.
Dizinin ikinci sayısı 2
, dolayısıyla alt [0 - 2]
dizgiyi bize veren yeni dizgiden alıyoruz lo
. Artık dize olur , World!
.
Son sayı 3
bize veren bir rakam , W
. Alt zincir , bize verilen alt dizgelerin tümüdür:
['Hel', 'lo', ', W']
Daha görsel bir örnek için:
[3, 2, 3], 'Hello, World!'
3 -> Hel
2 -> lo
3 -> , W
Görev
Boş olmayan bir dize ve yalnızca pozitif tamsayılardan ( ) oluşan boş olmayan bir dizi göz önüne alındığında , alt zincir zincirini çıkar . Dizideki tüm tam sayıların toplamının dizenin uzunluğunu aşmadığını varsayabilirsiniz.> 0
Ayrıca, dizelerin hiçbir zaman yeni satır içermeyeceğini de varsayabilirsiniz.
Test durumları
Input: abcdefghijk, [2, 1, 3]
Output: ['ab', 'c', 'def']
Input: Code Golf, [4, 1]
Output: ['Code', ' ']
Input: Ayyy, [3]
Output: ['Ayy']
Input: lexicographically, [2, 2, 2, 7, 4]
Output: ['le', 'xi', 'co', 'graphic', 'ally']
Bu kod-golf , bu yüzden en küçük bayt sayısına sahip olan gönderim kazanıyor!