สมมติว่าเรามีสตริง 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']