↑看個小廣告,支持好內容↑
圖給得蠻清楚,轉置矩陣 (AT) 其實就是把行、列互換的操作。在程式上,矩陣會以巢狀陣列來表示,陣列的每一項即代表矩陣的一個 row:
// 行列互換:A[i][j]=B[j][i]
[[ 2, 4,-1], [[ 2,-10,18],
[-10, 5,11], => [ 4, 5,-7],
[ 18,-7, 6]] [-1, 11, 6]]
舉例來說,轉置後的第 0 項 [2,-10,18]
,即是去收集原始矩陣各項的首個元素而來。矩陣問題的邏輯都不會太複雜,上場時不要緊張弄混 i
,j
就好了 XDD
參考程式碼:
var transpose = function(matrix) {
let output=[];
for(let i=0; i<matrix[0].length; i++) {
let row=[];
// 收集原始矩陣各項的第i個元素
for(let j=0; j<matrix.length; j++) {
row.push(matrix[j][i]);
}
output.push(row);
}
return output;
};
Array
、Matrix
、Simulation
66.1%
❤️ 若內容對你實用,歡迎追蹤本專題,或小額贊助支持~
⭐ 這是我的第 15 篇刷題筆記,完整解題索引看這裡 → Here