สมมติว่าเรามีสตริง s เราต้องสลับองค์ประกอบที่อยู่ในตำแหน่งคี่ทั้งหมดกับองค์ประกอบที่อยู่ในตำแหน่งคู่ ในที่สุด เราก็จะได้การเรียงสับเปลี่ยนของ s โดยที่องค์ประกอบถูกสลับเป็นคู่
ดังนั้น หากอินพุตเป็นเหมือน s ="programming" ผลลัพธ์จะเป็น "rpgoarmmig"
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- s :=ทำรายการจากตัวละครของ s
- สำหรับฉันในช่วง 0 ถึงขนาด s - 1 เพิ่มขึ้น 2 ทำ
- สลับ s[i], s[i+1] กับ s[i+1], s[i]
- รวมอักขระจาก s เพื่อสร้างสตริงทั้งหมดและส่งคืน
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
def solve(s): s = list(s) for i in range(0, len(s)-1, 2): s[i], s[i+1] = s[i+1], s[i] return ''.join(s) s = "programming" print(solve(s))
อินพุต
"programming"
ผลลัพธ์
rpgoarmmnig