问题阐述:寻找二维数组的鞍点(即元素所在行值最大,所在列值又最小)
代码清单:
public class FindSaddlePoint {
public static void findSaddlePoint(int[][] array) {
boolean flag = true; // 标记变量
for (int i = 0; i < array.length; i++) {
int index = getMaxIndexInOneRow(array[i]); // 获得该行最大元素的下标(列号)
for (int j = 0; j < array[0].length; j++) {
if (i == j) {
continue;
} else if (array[i][index] > array[j][index]) {
flag = false;
break; // 没有鞍点
}
}
if (flag == true) {
// 不满足上面的条件就是鞍点了
System.out.println("找到一个鞍点[" + i + "," + index + "]"+ array[i][index]);
}
}
}
// 获得一行中最大元素的下标
public static int getMaxIndexInOneRow(int[] row) {
int index = 0;
int first = row[0];
for (int i = 1; i < row.length; i++) {
if (first < row[i]) {
index = i;
}
}
return index;
}
// 打印数组
public static void prtn(int[][] array) {
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[0].length; j++) {
System.out.print(array[i][j] + "\t");
}
System.out.println();
}
}
public static void main(String[] args) {
int[][] array = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
FindSaddlePoint.prtn(array);
FindSaddlePoint.findSaddlePoint(array);
}
}
分享到:
相关推荐
用二C语言求二维数组鞍点,有文档和程序。。
用二C语言求二维数组鞍点 有程序和文档。
鞍点,找到二维数组的鞍点,并输出。数组手动输入
可以找到二维数组鞍点问题,c++,并指出二维鞍点若存在则至多只有一个
用c语言写的输入一个二维数组,找其中的鞍点
function findSaddlePoint(matrix) { var saddlePoints = [];... // 检查是否是鞍点 if (row[j] === maxInRow && row[j] === minInColumn) { saddlePoints.push([i, j]); } } } return saddlePoints; }
c语言求二维数组鞍点 在上面的代码中,我们定义了一个3×3的二维数组matrix,并在main()函数中调用findSaddlePoint()函数来找到鞍点。findSaddlePoint()函数使用两个嵌套的循环来遍历数组,首先在每一行找到最小值...
找出一个二维数组鞍点
找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能没有鞍点)。
输入一个二维数组,找出该二维数组的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点
编写程序,找出一个二维数组的鞍点,即在当前行最大,当前列最小的元素,也可能没有鞍点。
一个小小的程序共大家分享! 找二维数组的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可以没有鞍点)。
用labviEW求数组鞍点 供大家学习 参考
求一个二维数组中的鞍点
算法100%正确的程序. 几行几列,可在#define M,N中自行修改
主要介绍了二维数组中鞍点的寻找 Java,可以帮助一些Java的初学者进行了解
找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列上最小。也可能没有鞍点
输入一个二维矩阵,找出其中所有鞍点。如果矩阵有鞍点,则输出鞍点的信息:行号、列号、值; 如果没有鞍点,则输出“Not found!”。
text3二维数组求鞍点.rap
描述>=20个字符,不支持HTML标签;详细的资源描述有机会获得我们的推荐,更有利于他人下载,赚取更多积分。"></textarea>