【发布时间】:2021-02-21 15:18:16
【问题描述】:
我正在尝试将矩阵中从右上角到左下角的所有值存储在array 中。
int matrixSample [][] = {
{6,4,1,4},
{7,5,4,4},
{4,4,8,3},
{4,4,8,3}
};
输出应该是
[4,1,4,4,4,3,6,5,8,3,7,4,8,4,4,4]
我可以得到右下角的对角线
static int[] getAllDiagonalsInMatrix(int matrix[][]){
// Sum of arithmetic progression
int diagonal[] = new int[matrix.length * (matrix.length + 1)*2];
int index = 0;
for(int row = 0; row < matrix.length; row++) {
for(int col = 0; col < matrix[row].length - row; col++) {
diagonal[index++] = matrix[row + col][col];
}
}
return diagonal;
}
通过在上面的循环中进行调整,甚至可以使用相同的两个循环吗?
【问题讨论】:
-
我认为您的输出与您的问题不匹配
-
我已更改输出以匹配问题,感谢链接,这与我正在寻找的内容相似,但它从左上角开始。我会玩弄代码,看看能不能让我工作,谢谢
标签: java