a)制定方法体系
void rightRotate (char [] arr, int n)
方法将给定的字符数组向右旋转n个位置。
例如,如果 arr = {'a', 'b', 'c', 'd', 'e' }, 和 n=2,则结果应为 arr={'d', 'e', 'a', 'b', 'c'}
b)开发方法主体
void leftRotate (char [] arr, int n)
该方法将给定的字符数组向左旋转n个位置。。
例如,如果arr = {'a ',' b ',' c ',' d ',' e'}那么结果应该是arr={'c ',' d ',' e ',' a ',' b'}
我只学了一个月java,这是这周的小测验。
老师要求我们只使用temp和basic for循环来解决这个问题。
我们不能使用新的数组。
public static void rightRotate(char arr[], int n)
{
// Your code goes here
int i;
if(arr.length>1)
{
char p=arr[arr.length-n-1];
for(i=0;i<n;i++)
{
char m= arr[arr.length-n+i];
arr[arr.length-n-1+i]=arr[i];
arr[i]=m;
}
arr[arr.length-1]=p;
}
}
这是我为右旋写的。但我不知道左旋转一个。
我的代码在测试用例4中有一个错误。
测试用例 1: 数组: a b c d e
右旋转 : d e a b c
测试用例2:数组:a b c d e f g
右旋转:d e f f g a b c
测试用例3:数组:a b
右旋转:b a
测试用例4:数组:a b c d e f g h i j k l m n
右旋转:h i j k l m n b c d e f a g
如何改进右旋转一个?对于左旋转的那个,我应该怎么做?
谢谢
实际上需要两个<code>循环来执行旋转,一个用于保持旋转次数,另一个用于移动元素。以下内容应该有效:
public static void rightRotate(char arr[], int n) {
int i;
if (arr.length > 1) {
for (i = 0; i < n; i++) {
char p = arr[arr.length - 1];
//Shift the elements to the right
for(int j = arr.length-2; j >= 0 ; j--){
arr[j+1] = arr[j];
}
arr[0] = p;
}
}
}
描述 (Description) 它提供移动或导致围绕轴或中心的圆圈移动。 语法 (Syntax) @keyframes rotateOutUpRight { 0% { transform-origin: right bottom; transform: rotate(0); opacity: 1; } 100% { transfo
描述 (Description) 它提供移动或导致围绕轴或中心的圆圈移动。 语法 (Syntax) @keyframes rotateOutDownRight { 0% { transform-origin: right bottom; transform: rotate(0); opacity: 1; } 100% { tran
描述 (Description) 它提供移动或导致围绕轴或中心的圆圈移动。 语法 (Syntax) @keyframes rotateInUpRight { 0% { transform-origin: right bottom; transform: rotate(-90deg); opacity: 0; } 100% {
描述 (Description) 它提供移动或导致围绕轴或中心的圆圈移动。 语法 (Syntax) @keyframes rotateInDownRight { 0% { transform-origin: right bottom; transform: rotate(90deg); opacity: 0; } 100% { tr
本文向大家介绍Java程序将数组反转到给定位置,包括了Java程序将数组反转到给定位置的使用技巧和注意事项,需要的朋友参考一下 数组可以反转到给定位置pos,其余数组不变。一个例子如下: 演示此的程序如下所示- 示例 输出结果 现在让我们了解上面的程序。 如果位置大于数组的长度,则这是一个错误并被打印。否则,首先打印原始数组。证明这一点的代码片段如下所示- 现在,使用for循环将数组反转到pos。
本文向大家介绍VBA 使用Right或Right $获取字符串中最右边的3个字符,包括了VBA 使用Right或Right $获取字符串中最右边的3个字符的使用技巧和注意事项,需要的朋友参考一下 示例