Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมหมุนสตริงขนาด n, n ครั้งไปทางซ้ายใน Python


สมมติว่าเรามีสตริง s ขนาด n เราต้องหาสตริงที่หมุนทั้งหมดโดยการหมุน 1 ตำแหน่ง 2 ตำแหน่ง ... n ตำแหน่ง

ดังนั้น หากอินพุตเป็น s ="hello" ผลลัพธ์จะเป็น ['elloh', 'llohe', 'lohel', 'ohel', 'hello']

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • res :=รายการใหม่
  • n :=ขนาดของ s
  • สำหรับฉันในช่วง 0 ถึง n ให้ทำ
    • s :=(สตริงย่อยของ s จากดัชนี 1 ถึง n-1) ต่อ s[0]
    • ใส่ s ต่อท้าย res
  • ผลตอบแทน

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

def solve(s):
   res = []
   n = len(s)
   for i in range(0, n):
      s = s[1:n]+s[0]
      res.append(s)
   return res

s = "hello"
print(solve(s))

อินพุต

hello

ผลลัพธ์

['elloh', 'llohe', 'lohel', 'ohell', 'hello']