這是悅樂書的第332次更新宾添,第356篇原創(chuàng)
01看題和準備
今天介紹的是LeetCode算法題中Easy級別的第202題(順位題號是867)。給定矩陣A柜裸,返回A的轉(zhuǎn)置缕陕。
矩陣的轉(zhuǎn)置是在其主對角線上翻轉(zhuǎn)的矩陣,切換矩陣的行和列索引疙挺。例如:
輸入:[[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
本次解題使用的開發(fā)工具是eclipse,jdk使用的版本是1.8自点,環(huán)境是win7 64位系統(tǒng)桐罕,使用Java語言編寫和測試。
02解題
題目中所說的矩陣是一個二維數(shù)組,轉(zhuǎn)置是將其行列元素互換功炮,從兩個例子中也可以看出來溅潜。將列換成行,行換成列即可死宣。
此解法的時間復(fù)雜度是O(RxC)伟恶,空間復(fù)雜度是O(RxC),R是二維數(shù)組的行毅该,C是二維數(shù)組的列博秫。
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小結(jié)
算法專題目前已連續(xù)日更超過五個月,算法題文章202+篇眶掌,公眾號對話框回復(fù)【數(shù)據(jù)結(jié)構(gòu)與算法】挡育、【算法】、【數(shù)據(jù)結(jié)構(gòu)】中的任一關(guān)鍵詞朴爬,獲取系列文章合集即寒。
以上就是全部內(nèi)容,如果大家有什么好的解法思路召噩、建議或者其他問題母赵,可以下方留言交流,點贊具滴、留言凹嘲、轉(zhuǎn)發(fā)就是對我最大的回報和支持!