บทนำ
สำหรับตัวอย่างนี้เรามาดูสตริงHello, World!
และอาร์เรย์[3, 2, 3]
กัน ในการค้นหา substring chain เราจะทำตามขั้นตอนต่อไปนี้:
หมายเลขแรกของอาร์เรย์คือ3
เพื่อให้เราได้รับอักขระย่อยซึ่งเป็น[0 - 3]
Hel
หลังจากนั้นเราจะลบ3
อักขระตัวแรกออกจากสตริงเริ่มต้นซึ่งปล่อยเราlo, World!
ไว้
ตัวเลขที่สองของอาร์เรย์คือ2
เพื่อให้เราได้รับอักขระย่อยจากสตริงใหม่ของเราซึ่งจะช่วยให้เรา[0 - 2]
สตริงที่เหลือจะกลายเป็นlo
, World!
จำนวนสุดท้ายคือซึ่งจะช่วยให้เรา3
ห่วงโซ่ substringคือทั้งหมดของสตริงรวมกันซึ่งจะช่วยให้เรา:, W
['Hel', 'lo', ', W']
สำหรับตัวอย่างเพิ่มเติม:
[3, 2, 3], 'Hello, World!'
3 -> Hel
2 -> lo
3 -> , W
งาน
ได้รับไม่ว่างเปล่าสตริงและไม่ว่างเปล่าอาร์เรย์เท่านั้นประกอบด้วยจำนวนเต็มบวก ( ) เอาท์พุทโซ่ย่อย คุณอาจคิดว่าผลรวมของจำนวนเต็มทั้งหมดในอาร์เรย์ไม่เกินความยาวของสตริง> 0
คุณสามารถสันนิษฐานได้ว่าสตริงจะไม่มีบรรทัดใหม่
กรณีทดสอบ
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']
นี่คือรหัสกอล์ฟดังนั้นการส่งที่มีจำนวนไบต์น้อยที่สุดจะชนะ!