Cho một số nguyên k và một khối văn bản hoặc một mảng 2d mà các mảng bên trong có thể có độ dài không bằng nhau (giống với một khối văn bản), xoay mọi ký tự hoặc phần tử trong cột thứ k lên hoặc xuống vị trí tiếp theo tồn tại
Thí dụ
Xoay cột thứ 20 của văn bản sau (dựa trên 1):
A line with more than k characters.
A longer line with more than k character.
A short line.
Rotate here: ------v--
This is long enough.
This is not enough.
Wrapping around to the first line.
Đầu ra:
A line with more thtn k characters.
A longer line with aore than k character.
A short line.
Rotate here: ------m--
This is long enoughv
This is not enough.
Wrapping around to .he first line.
Xoay cột thứ k của cùng một đầu vào trong đó 35 < k <42 sẽ mang lại văn bản đầu vào không thay đổi.
Quy tắc
- Bạn có thể sử dụng văn bản thô, một mảng các dòng, một mảng các ký tự 2d hoặc bất kỳ định dạng hợp lý nào để thể hiện dữ liệu. Bạn cũng có thể sử dụng các loại dữ liệu khác với các ký tự.
- Số lượng giá trị có thể có của kiểu dữ liệu của các phần tử phải có ít nhất 20 nếu độ dài mã của bạn phụ thuộc vào nó, nếu không thì ít nhất 2. Đây có thể là tập hợp con của các ký tự hoặc các giá trị khác được hỗ trợ trong kiểu gốc.
- Không gian và bất kỳ loại giá trị null nào chỉ là giá trị bình thường, nếu bạn cho phép chúng trong đầu vào. Bạn cũng có thể đơn giản loại trừ chúng trong loại phần tử.
- Thay đổi quy tắc: Bạn được phép đệm các mảng ngắn hơn với giá trị mặc định chung (chẳng hạn như khoảng trắng), nếu bạn thích sử dụng các mảng có độ dài bằng nhau để lưu trữ dữ liệu.
- k có thể là 0 dựa hoặc 1 dựa. Nó được đảm bảo nằm trong dòng dài nhất trong đầu vào (ngụ ý đầu vào có ít nhất một dòng không trống).
- Bạn có thể chọn xem nó xoay lên hay xuống.
- Chỉ cần xoay một vị trí hoặc xoay n vị trí trong đó n là số nguyên dương được cho trong đầu vào.
- Mã ngắn nhất sẽ thắng.