给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。
function multiply(a, b) { // 相乘约束 if (a[0].length !== b.length) { throw new Error(); } let m = a.length; let p = a[0].length; let n = b[0].length; // 初始化 m*n 全 0 二维数组 let c = new Array(m).fill(0).map(arr => new Array(n).fill(0)); for (let i = 0; i < m; i++) { for (let j = 0; j < n; j++) { for (let k = 0; k < p; k++) { c[i][j] += a[i][k] * b[k][j]; } } } return c; } var a = [ [0.2, 0.3, 0.3], [0.22, 0.33, 0.3], [0.12, 0.3, 0.36] ]; var b = [ [0.2, 0.3 ], [0.22, 0.33 ], [0.12, 0.3 ] ]; var dd = multiply(a, b); console.log(dd);
如果您也喜欢它,动动您的小指点个赞吧