For loop 矩阵中列的最大值?

For loop 矩阵中列的最大值?,for-loop,matrix,max,For Loop,Matrix,Max,在Java中,如何仅使用2个for来查找矩阵中列的最大值 for(int i = 1; i< N; i++) for(int j = 1; j < M; j++) i want to find the maxim for each column for(int i=1;i

在Java中,如何仅使用2个for来查找矩阵中列的最大值

for(int i = 1; i< N; i++)
    for(int j = 1; j < M; j++)
         i want to find the maxim for each column
for(int i=1;i
public int findMaxInCol(int colIndex){
int max=整数.Min;
对于(int行=0;行最大值){
最大值=矩阵[行]共索引];
}
}
返回最大值;
}
void int findMaxOfMaxes(){
int maxOfMaxs=Integer.min;
for(int col=0;col maxOfMaxs)
maxOfMaxs=maxInCol;
}
返回maxOfMaxs
} 
//伪码


//在发现需要矩阵中的max后进行编辑。你是对的,你需要2个for循环。

为什么你需要2个for循环才能找到列中的最大值?我怎么能做到?他可能指的是任何列中的最大值?要找到特定列中的最大值,只需要一个循环-在该列中的每个值上循环。两个循环可以找到矩阵中的最大值。也就是说,我怀疑“列的最大值”是不正确的措辞,应该更改-解释下面的伪算法。它可能只使用1,但很难看。只有当有人明确告诉您“只能使用一个for循环”时,您才会这样做,然后它基本上涉及到对索引进行迭代,并分别通过/和%将索引分解为行和列。这还取决于矩阵的定义方式。例如,如果它被定义为一个动态数组,那么一个循环就足够了:“For(int i=0;ipublic int findMaxInCol(int colIndex){ int max = Integer.Min; for(int row=0;row<Matrix.Rows;row++){ if(matrix[row][colIndex] > max){ max = matrix[row]colIndex]; } } return max; } void int findMaxOfMaxes() { int maxOfMaxs = Integer.min; for(int col=0;col<j;col++){ int maxInCol = findMaxInCol(col); if( maxInCol > maxOfMaxs) maxOfMaxs = maxInCol; } return maxOfMaxs }