For loop 矩阵中列的最大值?
在Java中,如何仅使用2个for来查找矩阵中列的最大值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
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;i
public 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
}