我有一个接受二维数组的函数。我想知道是否有办法获取二维数组的行和列而不必对其进行迭代。方法签名不可更改。
函数在 ninetyDegRotator
类中。
public static int [][] rotate(int [][] matrix){
int [][] rotatedMatrix = new int[4][4];//need actual row n col count here
return rotatedMatrix; //logic
}
主要代码是
public static void main(String args[]){
int [][] matrix = new int[][]{
{1,2,3,4},
{5,6,7,8},
{9,0,1,2},
{3,4,5,6}
};
System.out.println("length is " + matrix.length);
int [][] rotatedMatrix = ninetyDegRotator.rotate(matrix);
}
matrix.length
也给我 4
。所以我猜它是行数,它给出了本身包含数组的一维数组中的引用数。那么有没有一种不用迭代就可以得到计数的方法呢?
最佳答案
如果保证每一行的长度相同,就使用:
int rows = matrix.length;
int cols = matrix[0].length; // assuming rows >= 1
(在数学中这当然是有保证的,但在大多数语言中很可能有一个数组数组,其中内部数组的长度不都相同)。
关于java - 获取二维数组的行数和列数而不对其进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21363104/