【发布时间】:2021-04-09 20:58:43
【问题描述】:
我正在练习一些编程逻辑,有一个朋友与我分享的挑战。问题来了:
编写一个脚本,取整数 n 作为矩阵的行数和列数,并取矩阵的元素列表。
Example: n=3 matrix = [[11 2 4], [4 5 6], [10 8 -12] ]并将矩阵的行列式打印为 -100
到目前为止我的解决方案、代码、问题、问题:
解决方案
创建一个有n个空位置的数组,将来这些位置将存储其他数组,它们将是矩阵的每一行。
遍历每个空白位置以填充新的矩阵线
在循环内创建一个变量,该变量将是带有元素的矩阵行
循环元素列表以获取一行的必要元素
将带有元素的矩阵行放在最终矩阵上
代码
function createMatrix(rowsAndColumns, elementsList) {
const finalMatrix = Array(rowsAndColumns)
for(let i = 0; i < finalMatrix.length; i++) {
let matrixLineWithElements = []
for(let k = 0; k < rowsAndColumns; k++) {
matrixLineWithElements[k] = elementsList[k]
}
finalMatrix[i] = matrixLineWithElements
}
}
问题
您可能已经在代码中注意到,我从列表中提取相同的元素来形成一行。最终矩阵成功形成,但我不知道如何计算每行不同的值,这是我终端的图像:
问题
我不再试图弄清楚 while 代码并做了以下笔记 -
如果我有一个包含四个元素的列表:
[10. 90, 100, 25]
我会形成一个2X2的矩阵,所以我需要对列表的元素进行计数。
0(零)和2是计数的起点,计数盐为2(n变量的值相同)。
这里有某种模式,看,如果我有一个 9 元素列表,比如
[10, 90, 100, 25, 36, 48, 2, 5, 6]
我会形成一个3X3的矩阵,所以我需要对列表的元素进行计数。
0(零),3和6是计数的起点,计数盐为3(n变量的值相同)。
如何以编程方式进行计数?
我对这个问题的方法和思考是否有意义或有更好的方法?
【问题讨论】:
标签: javascript node.js matrix logic