Java 算法-旋轉(zhuǎn)圖像(矩陣處理)

??今天在lintCode做了一道題,自己想了一下做法,做出來,但是覺得有必要記錄下來。

題意:
給定一個N×N的二維矩陣表示圖像,90度順時針旋轉(zhuǎn)圖像。
樣例:
給出一個矩形[[1,2],[3,4]],90度順時針旋轉(zhuǎn)后,返回[[3,1],[4,2]]
挑戰(zhàn):
能否在原地完成?

1.解題思路

??這個題乍一看懵逼,其實非常的簡單。下面我用圖來表示解題思路:


2.代碼

public void rotate(int[][] matrix) {
        if (matrix.length == 0 || matrix[0].length == 0) {
            return;
        }
        //順時針旋轉(zhuǎn)270度
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < i; j++) {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = temp;
            }
        }
        //逆時針旋轉(zhuǎn)180度
        for(int i = 0; i < matrix.length; i++) {
            for(int j = 0; j < matrix[0].length / 2; j++) {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[i][matrix[0].length - 1 - j];
                matrix[i][matrix[0].length - 1 - j] = temp;
            }
        }
    }
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,928評論 0 33
  • ??今天在lintCode上做了一道題,非常的簡單,但是解題的思路太巧妙了,覺得有必要記錄下來! 1.概覽 (1)...
    瓊珶和予閱讀 794評論 0 0
  • ??首先說明一下,看這個博客之前,最好有線段樹的基本概念,比如說線段樹的構造、線段樹的查詢之類的。最近在學習ANd...
    瓊珶和予閱讀 567評論 0 0
  • ??說實話,在數(shù)據(jù)結(jié)構中,拓撲排序我掌握的不是很好,今天在lintCode上面做了關于拓撲排序的題,才開始還是有點...
    瓊珶和予閱讀 1,484評論 0 0
  • 高中生如何整理錯題經(jīng)驗 題主是一名高一學生。在我的學習生涯里,很少有收集錯題的習慣。但是一直聽別人建議收集錯題,說...
    菁顏閱讀 5,824評論 1 20

友情鏈接更多精彩內(nèi)容