黑马程序员技术交流社区
标题:
求二维数组中的最值问题
[打印本页]
作者:
Alexander
时间:
2014-3-3 18:59
标题:
求二维数组中的最值问题
定义一个int型二维数组,并赋值,然后求其中的最大,小值!例如
定义二维数组int[][] a={{4,1,5},{2,7,6,13},{84,12,35},{24,6,3,22,11}};
里面最大值为84,最小值为1,用什么样的方法能快速简便的求出来呢?
和一维数组有相同点吗?
作者:
syusikoku
时间:
2014-3-7 18:58
我给你一个代码。你根据这个就能做出来了。希望这个能帮的上你。
/**
* 获取二维数组中的最小值
* @param arr 参数为一个二维数组
* @return 返回最小值
*/
private static int getMainValue(int[][] arr) {
int mini = arr[0][0]; //初始化为最小值的角标
//对二维数组进行遍历
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) { //遍历二维数组中的每一个一组数组
if (arr[i][j] < mini) { //如果参与比较的元素小于最小值角标上的元素
//就用mini记录住最小值角标上的元素
mini = arr[i][j];
}
}
}
//将mini记录的最小值返回
return mini;
}
}
复制代码
作者:
追逐
时间:
2014-3-14 15:29
class ErWeiZui {
private static int getZX(int[][] a) {
int min = a[0][0]; //初始化为最小的角标
//对二维数组进行遍历
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
if (a[i][j] < min) { //比较两个数的大小
//把最小值赋值给变量min
min = a[i][j];
}
}
}
//将最小值反出去
return min;
}
public static void main(String[] args) {
int[][] a={{4,1,5},{2,7,6,13},{84,12,35},{24,6,3,22,11}};
System.out.println(getZX(a));
}
}
/*
其实二维一维数组求最大最小值的原理差不多,都需要先用for循环遍历数组的每一个元素。
然后通过if判断语句进行判断。直到找到数组中的最大或者最小值,把值反出去。就行了
上面是源代码,你可以看着注释或者看着这里的文字自己思考着写一下。其实只要理解了原理
代码很好敲的
*/
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2