题解 | #矩阵乘法#
矩阵乘法
https://www.nowcoder.com/practice/ebe941260f8c4210aa8c17e99cbc663b
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let [x, y, z] = [0,0,0]
let row = 0
// 矩陣A
const A = []
// 矩阵 B
const B = []
// 矩陣C
const C = []
rl.on('line', function (line) {
row++
if(row === 1){
x = Number(line)
}else if(row === 2){
y = Number(line)
}else if(row === 3){
z = Number(line)
}else if(row <= x + 3){
A.push(line.split(' '))
}else if(row <= x + 3 + y){
B.push(line.split(' '))
// 当是最后一行时
if(row === x + 3 + y){
// 结果数矩阵行
for(let i = 0; i < x; i++){
const row = []
// 结果矩阵列
for(let j = 0; j < z; j++){
let tmp = 0
let v = 0
// A矩阵行 与 B矩阵列乘积和即为 C矩阵某一个元素
while(tmp < y){
v += A[i][tmp] * B[tmp][j]
tmp++
}
// 保存C矩阵某个元素
row.push(v)
}
// C矩阵一行
C.push(row)
}
C.forEach(row=>console.log(row.join(' ')))
}
}
});
查看1道真题和解析
