Codeing Test Study -2 Rotate Array
917 ワード
今回の問題は配列をk回前に移動することです.
配列回転と呼ばれていますが、一次元配列なので事実上前に移動します.
実は問題はそんなに難しくない.
しかし、私は説明を参考にして、解いてみましたが、説明は問題より難しいことに気づきました.
まず私が解決する方法はヒント1に示すように、新しい配列を作成する方法で問題を解決しました.
直接デバッグすると、私が望む値が得られます.
問題が解決すると、欲しい値はありません.
何か問題があったに違いない...?
配列回転と呼ばれていますが、一次元配列なので事実上前に移動します.
実は問題はそんなに難しくない.
しかし、私は説明を参考にして、解いてみましたが、説明は問題より難しいことに気づきました.
まず私が解決する方法はヒント1に示すように、新しい配列を作成する方法で問題を解決しました.
class Solution {
public void rotate(int[] nums, int k) {
int[] results=new int[nums.length];
for(int i=0;i<nums.length;i++){
if(i+k>nums.length-1){
results[i+k-nums.length]=nums[i];
}else{
results[i+k]=nums[i];
}
}
nums=results;
}
}
でもこの問題を使っていると答えが間違っていたことに気づきました直接デバッグすると、私が望む値が得られます.
問題が解決すると、欲しい値はありません.
何か問題があったに違いない...?
Reference
この問題について(Codeing Test Study -2 Rotate Array), 我々は、より多くの情報をここで見つけました https://velog.io/@kindcode/Codeing-Test-Study-2-Rotate-Arrayテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol