【发布时间】:2018-10-03 13:21:59
【问题描述】:
我的问题是要在 m*n 矩阵中找到不同数量的位置元素,它们是相应行或列中的最小值或最大值。 下面是我的一段代码。
static void findSpecialElement(int[][] matrix)
{
for (int i = 0; i < matrix.length; i++)
{
int rowMin = matrix[i][0];
int colIndex = 0;
boolean specialElement = true;
for (int j = 1; j < matrix[i].length; j++)
{
if(matrix[i][j] < rowMin)
{
rowMin = matrix[i][j];
colIndex = j;
}
}
for (int j = 0; j < matrix.length; j++)
{
if(matrix[j][colIndex] > rowMin)
{
specialElement = false;
break;
}
}
if(specialElement)
{
System.out.println("Special Element is : "+rowMin);
}
}
}
例如:给定一个大小为 3*3 的矩阵,元素存储如下
1 3 4
5 2 9
8 7 6
预期输出为 7
保留 5 和 3 矩阵中的所有其他数字在行和列中都有 最小值或最大值。所以,7在 9 个数字中有最小值或最大值。
那么7就是输出
如果任何行或任何列有多个最小值或最大值,请返回-1 元素...
我的错误是未能得到预期的answer 7作为per问题。
【问题讨论】:
-
您不仅没有表现出任何尝试就将作业放在这里,甚至没有发布完整的问题。请过stackoverflow.com/help/how-to-ask
-
@Guy 对不起,我尝试了很多次,但输出失败..
-
@lancerfree 但是你没有向我们展示你的尝试和你的错误,如果你不纠正你的错误,你怎么能学习?我们愿意帮助您纠正这些错误。请编辑您的问题并添加您的代码和错误。
-
@RafaelPalomino 感谢您的建议...我已经编辑了问题..如果可能,请尝试帮助我..
-
@Rafael Palomino。感谢我的错误和您的帮助...
标签: java matrix dynamic-programming