Aに文字nは位置の所与のアレイを回転させる)方法の本体右右
空隙rightRotate(CHAR [] ARR、INT n)が
方法が正しい文字Nの所与のアレイを回転させるの開発は右から左へ
たとえば、arr = {'a'、 'b'、 'c'、 'd'、 'e'}およびn = 2の場合、結果はarr = {'d'、 'e 」、 ''、 'B'、 'C'}
B)メソッドの本体を開発
空隙leftRotate(CHAR [] ARR、INT n)が
方法の左側は、所定の回転たとえば、arr = {'a'、 'b'、 'c'、 'd'、 'e'}の場合、結果はarr = {'c'}でなければなりません。 、 'd'、 'e'、 'a'、 'b'}
私はJavaを1ヶ月しか学習していませんでしたが、今週はクイズです。
先生は私たちに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: 配列:
ABCDEは右回転:deabc
テスト・ケース2: 配列:
ABCDEFGを 右回転:defgabc
テストケース3: 配列:ab
右回転:
テストケース4 B: 配列:B、CのDのE F GがHのI jのk個のL個のM nは
右回転:HのI jのk個のL個のM N BはC dがE G F
どのように権利を向上させることができるのいずれかを回転させますか?私は左回転のために何をすべきですか?
おかげ
あなたが試みたことを示し、発生している特定の問題(もしあれば)を説明してください。一度それをすると、ここで非常に賢い人々の束は、その問題を解決するのを助けてくれるでしょう。スタックオーバーフローは、あなたの宿題をするのではなく、特定の問題を解決するのに役立ちます。 – Jason
デバッグを試しましたか? – shmosel
デバッグとは何ですか?私たちはデバッグを学んだことはありません。 – Jerrick