Thuật toán Python

Xoay mảng trong Python

Phần tử đi ra một phía sẽ xuất hiện lại ở phía còn lại.

Xoay mảng trong Python là gì?

Phần tử đi ra một phía sẽ xuất hiện lại ở phía còn lại.

Dịch vòng các phần tử đi k vị trí.

Khi nào nên sử dụng?

  • Rèn luyện tư duy giải quyết vấn đề và cấu trúc dữ liệu.
  • Xử lý dữ liệu khi cần kiểm soát rõ từng bước của thuật toán.
  • Chuẩn bị cho bài tập, kỳ thi và phỏng vấn lập trình.

Code ví dụ

Chạy code →
main.py
def rotate_right(values, steps):
    if not values:
        return []
    steps %= len(values)
    return values[-steps:] + values[:-steps]

print(rotate_right([1, 2, 3, 4, 5], 2))

Kết quả dự kiến

[4, 5, 1, 2, 3]

Cách hoạt động

k được chuẩn hóa theo độ dài rồi nối hai slice: thời gian và bộ nhớ O(n).

Thay đổi giá trị và chạy chương trình bằng trình chạy Python online của CodeUtility mà không cần cài Python.

Bài tập mở rộng

Hãy sửa code theo các bài tập dưới đây để hiểu rõ cách hoạt động thay vì chỉ sao chép kết quả.

  1. Kiểm tra trường hợp rỗng, một phần tử và giá trị trùng lặp.
  2. In trạng thái sau từng bước để quan sát thuật toán.
  3. Đo thời gian với 100, 1.000 và 10.000 phần tử rồi so sánh cách giải khác.
Chạy trong Python IDE →