Viết hàm xoay một mảng nguyên bằng một số k cho trước. k phần tử từ cuối sẽ di chuyển đến phần đầu của mảng và tất cả các phần tử khác sẽ di chuyển sang phải để tạo khoảng trống.
Việc quay vòng nên được thực hiện tại chỗ.
Thuật toán không nên chạy nhiều hơn O (n), trong đó n là kích thước của mảng.
Ngoài ra một bộ nhớ không đổi phải được sử dụng để thực hiện các hoạt động.
Ví dụ,
nếu mảng được khởi tạo với các phần tử Array = {1, 2, 3, 4, 5, 6, 7, 8, 9}
xoay (mảng, 3) sẽ dẫn đến các phần tử là {7, 8, 9, 1, 2, 3, 4, 5, 6}
xoay (mảng, 6) sẽ cho kết quả {4, 5, 6, 7, 8, 9, 1, 2, 3}