帮忙做题的软件_帮忙做下这道Java题,要带着代码解释的,谢谢

原问题:帮忙做下这道Java题,要带着代码解释的,谢谢
分类:编程开发 > 最后更新时间:【2017-01-01 06:18:17】
问题补充:

二维数组的马鞍点,所谓马鞍点是指该位置上的数在该行上最大,在该列上最小(马鞍点可以没有也可以有多个)

最佳答案

class mypoint { public static void main (String args[]) { int a[][]={{1,2,3,4,5},{7,3,4,5,6},{2,1,5,4,3},{5,3,6,5,4}}; int i,j,temp; int maxa[][]=new int [4][5]; int mina [][]=new int [4][5]; //求出行中最小值并标记 for(i=0;i<a.length;i++) { temp=a[i][0]; for(j=1;j<a[i].length;j++) if (a[i][j]<temp) temp=a[i][j]; for (j=1;j<a[i].length;j++) if(a[i][j]==temp) mina[i][j]=1; } //求出列中最大值并标记 for(j=0;j<a[0].length;j++) { temp=a[0][j]; for(i=1;i<a.length;i++) if (a[i][j]>temp) temp=a[i][j]; for (i=1;i<a.length;i++) if(a[i][j]==temp) maxa[i][j]=1; } //打印输出矩阵 for(i=0;i<a.length;i++) { for(j=0;j<a[i].length;j++) System.out.print(" "+a[i][j]+" "); System.out.println(); } //求马鞍点并打印输出 for(i=0;i<a.length;i++) { for(j=0;j<a[i].length;j++) if(mina[i][j]+maxa[i][j]==2) System.out.println(" "+i+"行"+j+" 列是一个马鞍点值 ="+a[i][j]); } } }

最佳答案由网友  搿铽弒拉  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
3

分享到:

其他回答

其它网友回答:
使用穷举计算。

    推荐