Java查找数组鞍点
来源:互联网 发布:矩阵论教程 张绍飞 编辑:程序博客网 时间:2024/06/06 09:50
题目:对于一个二维数组,鞍点就是二维数组中的一个元素,同时满足在该列上的最大值,在该行上的最小值。
当时时间很紧,我的思路就是用双重循环暴力解,对每个点都调用一次IsMax和IsMin来判断是否为鞍点。
而且这个题也说了是正整数,说了鞍点最多只有一个,说了数组是a[3][4]。
说了这么多,我还是做错了。
我居然找出了鞍点的仇人,满足在该列上的最小值,在该行上的最大值。
写完一运行,懵逼,进去debug还没看到问题,已经交卷了。
交卷之后心情很沮丧,后来找了个时间看代码,哎,不说了,行和列的ij搞反了......
戒骄戒躁啊!马前失蹄,悔恨不已啊!!
/** * @author LilyLee * @date 2017年5月17日 * @time 下午2:42:25 * @Version 1.0 * @email lilylee_1213@foxmail.com * */public class Vivo_findIt {public static void main(String[] args) {int [][]num=new int[][]{{1,2,4,3},{2,4,10,1},{3,5,20,7}};int re=findIt(num);if(re>0){System.out.println(re);}}public static int findIt(int [][] num){int result=0;boolean flage=false;for(int i=0;i<3;i++){for(int j=0;j<4;j++){if(IsMax(num,j,num[i][j])&&IsMin(num,i,num[i][j])){result=num[i][j];//System.out.println(i+" "+j);flage=true;}}}if(flage){return result;}return -1;}public static boolean IsMax(int [][] num,int column,int point){int re=point;for(int i=0;i<3;i++){if(re>=num[i][column]){re=num[i][column];}}if(re!=point){return false;}return true;}public static boolean IsMin(int [][] num,int row,int point){int re=point;for(int i=0;i<4;i++){if(re<=num[row][i])re=num[row][i];}if(re!=point){return false;}return true;}}
阅读全文
0 0
- Java查找数组鞍点
- 查找二维数组的鞍点
- 查找鞍点
- java实现求二维数组的鞍点
- 鞍点的查找
- 找二维数组鞍点
- 数组鞍点算法
- 二维数组鞍点问题
- 数组02鞍点
- 二维数组寻找鞍点
- 求二维数组鞍点
- 二维数组的鞍点
- 二维数组的鞍点
- 求数组的鞍点数
- 二维数组中寻找鞍点
- 寻找一个数组中的鞍点
- 求二维数组的鞍点
- 求二维数组的鞍点
- CentOs开放80端口
- 列车调度
- STL 中list的常用接口
- (个人)AR电子书系统创新实训第二周(1)
- Error:Cannot locate factory for objects of type DefaultGradleConnector, as ConnectorServiceRegistry
- Java查找数组鞍点
- 去除__stack_chk_guard
- 四大组件——Service
- selinux策略的打开和关闭
- 中缀表达式与后缀表达式的转化与计算
- 删除百度快照
- 拷贝初始化调用时机
- jQuery 新篇
- 出栈方法pop改进