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 3biz alt dize almak, böylece [0 - 3]olduğunu Hel. Ondan sonra, ilk 3karakterleri 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ı 3bize 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!