Giải pháp HackerRank máy in tròn trong C++
John Watson biết về một phép toán gọi là phép quay vòng phải trên một mảng các số nguyên. Một thao tác xoay sẽ di chuyển phần tử mảng cuối cùng đến vị trí đầu tiên và dịch chuyển tất cả các phần tử còn lại sang phải một. Để kiểm tra khả năng của Sherlock, Watson cung cấp cho Sherlock một dãy số nguyên. Sherlock là thực hiện thao tác xoay một số lần sau đó xác định giá trị của phần tử tại một vị trí nhất định
Đối với mỗi mảng, thực hiện một số phép quay tròn bên phải và trả về các giá trị của các phần tử tại các chỉ số đã cho Show Ví dụ a = [3,4,5] k = 2 truy vấn = [1,2] Ở đây k là số lần quay trên a và các truy vấn chứa danh sách các chỉ số cần báo cáo. Đầu tiên chúng tôi thực hiện hai phép quay. [3,4,5] -> [5,3,4] -> [4,5,3] Bây giờ hãy trả lại các giá trị từ các chỉ số dựa trên số không 1 và 2 như được chỉ ra trong mảng truy vấn a[1] = 5 a[5] = 3 Mô tả chức năng Hoàn thành chức năng circleArrayRotation trong trình chỉnh sửa bên dưới circleArrayRotation có (các) tham số sau
trả lại
Định dạng đầu vào Dòng đầu tiên chứa 3 số nguyên n, k và q, số phần tử trong mảng số nguyên, số vòng quay và số truy vấn Dòng thứ hai chứa n số nguyên được phân tách bằng dấu cách, trong đó mỗi số nguyên i mô tả phần tử mảng a[i] (trong đó 0<=i Mỗi q dòng tiếp theo chứa một số nguyên duy nhất,queries[i] , chỉ số của một phần tử trong a để trả về Cho một thùng chứa hình tròn bao gồm các bảng chữ cái viết thường từ 'a' đến 'z', một con trỏ ban đầu chỉ vào bảng chữ cái 'a' và một chuỗi str, nhiệm vụ là tìm thời gian tối thiểu cần thiết để in chuỗi str đã cho từ vòng tròn
Ví dụ
Tiếp cận. Các bước dưới đây có thể được thực hiện để giải quyết vấn đề đã cho
Cuối cùng in câu trả lời thu được trong thời gian tối thiểu cần thiết Dưới đây là việc thực hiện các phương pháp trên C++
Java
_______01____074
Python3
________ 01 ________ 102 ________ 103 ________ 006
|