Cracking the Coding Interview Q1.6

來源:互聯網
上載者:User

標籤:style   blog   color   for   div   res   

Given an image represented by an NxN matrix, where each pixel in the image is 4 bytes, write a method to rotate the image by 90 degrees. Can you do this in place?

 

思路:從最晚層向內,一層一層交換。

 

    public static void rotate(int[][] matrix, int n) {        for (int layer = 0; layer < n / 2; ++layer) {            int first = layer;            int last = n - 1 - layer;            for(int i = first; i < last; ++i) {                int offset = i - first;                int top = matrix[first][i]; // save top                // left -> top                matrix[first][i] = matrix[last-offset][first];                             // bottom -> left                matrix[last-offset][first] = matrix[last][last - offset];                 // right -> bottom                matrix[last][last - offset] = matrix[i][last];                 // top -> right                matrix[i][last] = top; // right <- saved top            }        }    }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.