LeetCode.867-轉置矩陣(Transpose Matrix)


這是悅樂書的第332次更新,第356篇原創

01看題和准備

今天介紹的是LeetCode算法題中Easy級別的第202題(順位題號是867)。給定矩陣A,返回A的轉置。
矩陣的轉置是在其主對角線上翻轉的矩陣,切換矩陣的行和列索引。例如:

輸入:[[1,2,3],[4,5,6],[7,8,9]]
輸出:[[1,4,7],[2,5,8],[3,6,9]]


輸入:[[1,2,3],[4,5,6]]
輸出:[[1,4],[2,5],[3,6]]

注意

  • 1 <= A.length <= 1000

  • 1 <= A [0] .length <= 1000

本次解題使用的開發工具是eclipse,jdk使用的版本是1.8,環境是win7 64位系統,使用Java語言編寫和測試。

02解題

題目中所說的矩陣是一個二維數組,轉置是將其行列元素互換,從兩個例子中也可以看出來。將列換成行,行換成列即可。

此解法的時間復雜度是O(RxC),空間復雜度是O(RxC),R是二維數組的行,C是二維數組的列。

public int[][] transpose(int[][] A) {
    int row = A.length, col = A[0].length;
    int[][] result = new int[col][row];
    for (int i=0; i<col; i++) {
        for (int j=0; j<row; j++) {
            result[i][j] = A[j][i];
        }   
    }
    return result;
}

03小結

算法專題目前已連續日更超過五個月,算法題文章202+篇,公眾號對話框回復【數據結構與算法】、【算法】、【數據結構】中的任一關鍵詞,獲取系列文章合集。
以上就是全部內容,如果大家有什么好的解法思路、建議或者其他問題,可以下方留言交流,點贊、留言、轉發就是對我最大的回報和支持!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM