查找未知维度的2D数组的最大高度和宽度(Java)
在Java中,我希望从简单图像数组的两个维度中获得最大元素,即:查找未知维度的2D数组的最大高度和宽度(Java),java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,在Java中,我希望从简单图像数组的两个维度中获得最大元素,即: int getWidth(Color[][] pixels){ //return max of dimension 1 } int getHeight(Color[][] pixels){ //return max of dimension 2 } 我知道如何在Java中对1D数组执行此操作,我只需在I如果我们考虑2D数组,则它是一个数组,引用其他数组。 如果我们考虑这样的矩阵: { {1,2,3},
int getWidth(Color[][] pixels){
//return max of dimension 1
}
int getHeight(Color[][] pixels){
//return max of dimension 2
}
我知道如何在Java中对1D数组执行此操作,我只需在I是否仍然有效?
二维数组只是一个数组,其中的项是其他数组。由于.length
适用于1D数组,因此它肯定适用于所有数组-维度的数量无关紧要
但是,pixels.length
提供父数组的长度,即包含所有其他数组的数组。要获得第二维度的长度,必须获得其中数组的长度
那么,我们如何得到第二维度的长度呢?
我们知道所有这些数组都必须具有相同的长度,所以我们只使用位置0处的数组,因为它是唯一一个我们可以100%确定始终存在的数组-一个数组应该始终至少有一个元素
然后,我们得到数组的长度-<代码>像素[0 ]。长度
< P>如果我们考虑2D数组,则它是一个数组,引用其他数组。
如果我们考虑这样的矩阵:
{
{1,2,3},
{4,6},
{7,7,8,9}
}
因此,上述矩阵的高度为3=行数
矩阵宽度为4=最大值(每个数组中的元素数)
int-getHeight(颜色[]像素){
返回像素。长度;
}
int getWidth(颜色[]像素){
int maxCount=0;
int行=像素。长度;
对于(int i=0;i
啊,太好了,这正是我需要知道的。谢谢,如果可能的话我会接受的。太棒了,很高兴我能帮上忙:D
int getHeight(Color[][] pixels) {
return pixels.length;
}
int getWidth(Color[][] pixels) {
int maxCount = 0;
int rows = pixels.length;
for (int i = 0; i < rows; i++) {
if (maxCount < pixels[i].length) {
maxCount = pixels[i].length;
}
}
return maxCount;
}