Cyclic Rotation

將 array element 向右移 k 個位置

如何想到的:向右假設超過陣列長度,則需要重新決定位置,對於這種有限制大小又有順序的求位置就想到要用 % 運算,可以決定在陣列裡的位置是哪個

public int[] solution(int[] A, int K) {
    if (K == A.length)
        return A;

    int n = A.length;
    int ans[] = new int[A.length];
    for (int i=0; i<A.length; i++) {
        ans[(i+K)%n] = A[i];
    }
    return ans;
}

results matching ""

    No results matching ""