题解 | #矩阵乘法#

矩阵乘法

https://www.nowcoder.com/practice/ebe941260f8c4210aa8c17e99cbc663b

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
let condition=[]
let lines1=[]
let lines2=[]
void async function () {
    // Write your code here
    while(line = await readline()){
       if(condition.length<3){
        condition.push(Number(line))
       }else{
        if(lines1.length<condition[0]){
            lines1.push(line.split(' ').map(Number))
        }else{
            if(lines2.length<condition[1]){
                lines2.push(line.split(' ').map(Number))
            }
        }
       }
       if(lines2.length===condition[1]){
        getResult(lines1,lines2)
       }
    }
}()

function getResult(lines1,lines2,conditon){
    let [x,,y]=condition
    let arr = new Array(x).fill(0)
    arr=arr.map(()=>{return new Array(y)})
    for(let i  = 0;i<lines1.length;i++){
        for(let j=0;j<lines2[0].length;j++){
            let sum =0
            for(let k = 0;k<lines2.length;k++){
                sum+=lines1[i][k]*lines2[k][j]
            }
            arr[i][j]=sum
        }
    }
    arr.forEach(item=>{
        console.log(item.join(' '))
    })
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务