因爲我在java中練習基本的數組問題。我有一個關於將n個元素左移/右移k個單位的問題。Java反向數組方法如何工作?
我知道如何對付小的單元陣列,比如我有一個數組int[]arr={1,2,3};
我可以切換這樣的元素的位置:
return new int[]{arr[1],arr[2],arr[0]};
在此之後,如果我有100種以上的元素這樣一個數組根本不起作用。所以我看到有人用反向方法來處理它。
public void rotateProblem(int[]arr,int k){ //k means rotate k units to right
k%=arr.length;
k=2;
reverse(arr, 0, arr.length - 1);
reverse(arr, 0, k - 1);
reverse(arr, k, arr.length - 1);
}
但我不明白這一點在所有請問這種方法扭轉數組,爲什麼我需要使用k%=arr.length;
誰能向我解釋反向方法?
發佈'reverse'方法。這不是一個Java內置的。 –
'k%= arr.length;'沒有做任何事情,因爲你有'k = 2;'但是,我期望這是處理大的k值。 –