找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能没有鞍点。)
1 回答
已采纳
![?](http://img1.sycdn.imooc.com/546353070001b3eb01000097-100-100.jpg)
蜂之谷
TA贡献564条经验 获得超863个赞
int[][] arr = { { 2, 43, 4, 8 }, { 1, 35, 44, 9 }, { 12, 33, 4, 18 }, { 2, 53, 4, 68 } }; for (int i = 0; i < arr.length; i++) { int max = arr[i][0]; int index = 0; for (int j = 1; j < arr[i].length; j++) { if (arr[i][j] > max) { max = arr[i][j]; index = j; } } int min = arr[i][index]; int tempMin = arr[i][index]; for (int k = 0; k < arr.length; k++) { if (tempMin > arr[k][index]) { tempMin = arr[k][index]; } } if (min == tempMin) { System.out.println("第"+i+"行有鞍点:值为:arr["+i+","+index+"]="+max); }else{ System.out.println("第"+i+"行无鞍点"); } }
添加回答
举报
0/150
提交
取消