前往
大廳
主題

LeetCode - 867. Transpose Matrix 解題心得

Not In My Back Yard | 2021-01-29 00:00:05 | 巴幣 2 | 人氣 327

題目連結:


題目意譯:
給定一矩陣 A ,回傳 A 的轉置矩陣。

一個矩陣的轉置為該矩陣沿著其主對角線翻轉,即交換矩陣的行與列之索引值。

注:
1 ≦ A.length ≦ 1000
1 ≦ A[0].length ≦ 1000



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

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


解題思維:
將以往掃描陣列的雙層迴圈順序顛倒:
for (i = 0; i != A.length; ++i)
    for (int j = 0; j != A[0].length; ++j)
變為
for (int j = 0; j != A[0].length; ++j)
    for (i = 0; i != A.length; ++i)

接著按照這題的作法將 A[i][j] 的值儲存進一個新的矩鎮 A',其大小為 A[0].length 列 × A.length 行。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作