给定一个整数k和一个文本块,或者一个内部数组可能具有不等长的2d数组(类似于一个文本块),则将第k列中的每个字符或元素向上或向下旋转到下一个位置存在。
例
旋转以下文本的第20列(从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.
输出:
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.
在35 < k <42的情况下旋转同一输入的第k列将使输入文本保持不变。
规则
- 您可以使用原始文本,行数组,二维字符数组或任何合理的格式来表示数据。您也可以使用字符以外的数据类型。
- 如果代码长度取决于元素,则元素的数据类型的可能值的数量必须至少为20,否则至少为2。这可能是字符或本机类型支持的其他值的子集。
- 如果在输入中允许空格和任何类型的null值,它们只是普通值。您也可以将它们简单地排除在元素类型之外。
- 规则更改:如果您希望使用长度相等的数组来存储数据,则可以使用通用默认值(例如空格)填充较短的数组。
- k可以基于0或基于1。保证它在输入中的最长行内(这意味着输入至少有一条非空行)。
- 您可以选择向上或向下旋转。
- 只需旋转一个位置,或旋转n个位置(其中n是输入中给定的正整数)即可。
- 最短的代码胜出。