First example blog from local word2013

Leetcode 相关:

    public static void swap(int array[], int i, int j) {

        final int temp = array[i];

        array[i] = array[j];

        array[j] = temp;

    }

 

    public static void reverse(int array[], int begin, int end) { // 左闭右开区间

        end--;

        while (begin < end)

            swap(array, begin++, end--);

    }

 

    /*

     * 先将A 的元素倒置,即1, 2, 3, 4, 5 变成5, 4, 3, 2, 1,然后将前k 位倒置, 3, 4, 5, 2, 1,再将后n-k

     * 位倒置,即3, 4, 5, 1, 2,完成。

     */

    public void ror3(int array[], int n, int k) {

        k %= n;

 

        if (k == 0)

            return;

        reverse(array, 0, n);

        reverse(array, 0, k);

        reverse(array, k, n - k);

    }

posted @ 2014-10-18 15:37  小开风  阅读(82)  评论(0编辑  收藏  举报