สมมติว่าเรามีสตริง s และรายการดัชนี พวกมันมีความยาวเท่ากัน สตริง s จะถูกสับเปลี่ยนเพื่อให้อักขระที่ตำแหน่ง i ย้ายไปที่ indices[i] ในสตริงสุดท้าย เราต้องหาเส้นสุดท้ายให้เจอ
ดังนั้น หากอินพุตเป็น s ="ktoalak" ind =[0,5,1,6,2,4,3] เอาต์พุตจะเป็น "โกลกาตา"
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
fin_str :=รายการที่มีขนาดเท่ากับ s และเติม 0
-
สำหรับแต่ละดัชนี i และอักขระ v ใน s ทำ
-
fin_str[ind[i]] :=v
-
-
เข้าร่วมตัวละครแต่ละตัวที่อยู่ใน fin_str แล้วกลับมา
ตัวอย่าง (Python)
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
def solve(s, ind): fin_str = [0] * len(s) for i, v in enumerate(s): fin_str[ind[i]] = v return "".join(fin_str) s = "ktoalak" ind = [0,5,1,6,2,4,3] print(solve(s, ind))
อินพุต
"ktoalak", [0,5,1,7,2,4,3]
ผลลัพธ์
kolkata