如何在java中找到矩阵的鞍点?
矩阵的鞍点是矩阵中行最小列最大的元素。比如说,如何在java中找到矩阵的鞍点?,java,Java,矩阵的鞍点是矩阵中行最小列最大的元素。比如说, 6 3 1 9 7 8 2 4 5 找到卫星点 查找行中最小的元素并将其存储在rowMin中,同时将其列索引存储在colIndex中 检查rowMin是否也是其列中最大的元素,即colIndex 当rowMin也是其列中最大的元素时,将其声明为鞍点 对矩阵的所有行执行这些步骤 这里是完整的例子 查找卫星点 查找行中最小的元素并将其存储在rowMin中,同时将其列索引存储在colIndex中 检查rowMi
6 3 1
9 7 8
2 4 5
找到卫星点
- 这里是完整的例子
- 这里是完整的例子
静态布尔hasSaddlePoint(int[][]arr){
布尔saddleFound=false;
for(int i=0,n=arr.length;iarr[maxId][i]){
maxId=j;
}
}
if(minId==maxId){
System.out.printf(“鞍点arr[%d][%d]=%d%n”,maxId,minId,arr[maxId][minId]);
saddleFound=真;
}
}
如果(!鞍座){
System.out.println(“未找到鞍点”);
}
返回鞍座;
}
测试:
hasSaddlePoint(新int[][]{
{6, 3, 1},
{9, 7, 8},
{2, 4, 5}
});
印刷品
Saddle point arr[1][1] = 7
只需迭代矩阵,在行(其索引)中找到最小值,在列中找到最大值,如果索引相等,则找到鞍点 查找和打印方形数组中鞍点的示例算法如下:
静态布尔hasSaddlePoint(int[][]arr){
布尔saddleFound=false;
for(int i=0,n=arr.length;iarr[maxId][i]){
maxId=j;
}
}
if(minId==maxId){
System.out.printf(“鞍点arr[%d][%d]=%d%n”,maxId,minId,arr[maxId][minId]);
saddleFound=真;
}
}
如果(!鞍座){
System.out.println(“未找到鞍点”);
}
返回鞍座;
}
测试:
hasSaddlePoint(新int[][]{
{6, 3, 1},
{9, 7, 8},
{2, 4, 5}
});
印刷品
Saddle point arr[1][1] = 7
但这是唯一的一个row@DonatoAmasa-您检查过格式问题吗?如何检查?迭代所有元素,并测试每个元素是否是鞍点row@DonatoAmasa-您检查过格式问题吗?如何检查?迭代所有元素,并测试每个元素是否为鞍点
Saddle Point is : 7
Saddle point arr[1][1] = 7