Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình xoay chuỗi độ dài n, n lần sang trái trong Python


Giả sử chúng ta có một chuỗi s độ dài n. Chúng ta phải tìm tất cả các chuỗi xoay bằng cách xoay chúng 1 vị trí, 2 vị trí ... n vị trí.

Vì vậy, nếu đầu vào là s = "hello", thì đầu ra sẽ là ['elloh', 'llohe', 'lohel', 'ohell', 'hello'].

Để giải quyết vấn đề này, chúng ta sẽ làm theo các bước sau:

  • res := danh sách mới
  • n := độ dài s
  • với i từ 0 đến n, thực hiện
    • s := (substring s từ index 1 đến n-1) nối s[0]
    • thêm s vào cuối res
  • trả về res

Ví dụ

Hãy xem triển khai sau để hiểu rõ hơn:

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))

Đầu vào

hello

Đầu ra

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