编码对角线网格



赋值:编写一个函数,返回正方形网格中对角线元素的列表。

function getDiagonal(grid, whichDiagonal)对角线由程序顶部的常量命名。

var DIAGONAL_TOP_LEFT_BOTTOM_RIGHT = 0;
var DIAGONAL_BOTTOM_LEFT_TOP_RIGHT = 1;

例如,给定包含以下内容的网格:

4   2   5
1   8   3
7   3   9

getDiagonal(grid, DIAGONAL_TOP_LEFT_BOTTOM_RIGHT)的调用应该返回一个包含内容的数组:

[4, 8, 9]

现在,通过多次调用函数并打印出网格来测试函数。

我的代码打印"我不知道为什么这里是我的完整代码:

var DIAGONAL_TOP_LEFT_BOTTOM_RIGHT = 0;
var DIAGONAL_BOTTOM_LEFT_TOP_RIGHT = 1;
function start(){
var grid = new Grid(3, 3);
grid.initFromArray([
["4", "2", "5"],
["1", "8", "3"],
["7", "3", "9"]
]);
getDiagonal(grid, DIAGONAL_TOP_LEFT_BOTTOM_RIGHT);
}
function getDiagonal(grid, whichDiagonal){
var diagonalList = [];
for(var row = 0; row<grid.numRows() + 1; row++){
for(var col = 0; col<grid.numCols() + 1; col++){
if(row == col){
var curr = grid.get[row, col];
diagonalList.push(curr);

}
}
}
println(diagonalList);
}

我也不确定如何使用顶部的2个给定变量

在这个函数的代码中有两个问题:

function getDiagonal(grid, whichDiagonal){
var diagonalList = [];
for(var row = 0; row<grid.numRows() + 1; row++){
for(var col = 0; col<grid.numCols() + 1; col++){
if(row == col){
var curr = grid.get[row, col];
diagonalList.push(curr);

}
}
}
println(diagonalList);
}

更改为:

function getDiagonal(grid, whichDiagonal){
var diagonalList = [];
for(var row = 0; row<grid.numRows(); row++){
for(var col = 0; col<grid.numCols(); col++){
if(row == col){
var curr = grid.get(row, col);
diagonalList.push(curr);

}
}
}
println(diagonalList);
}

最新更新