A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© l落落落叶 中级黑马   /  2015-3-27 16:56  /  872 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int[][]arr={{2,1,4,-7},{-13,3,5,6},{121,-21,9,14}}
如何更快的求出最小值

17 个回复

倒序浏览
遍历比较?
回复 使用道具 举报
本帖最后由 liyanghml 于 2015-3-27 22:27 编辑

你想怎么快呢,按照数组遍历不好吗(希望能帮到你)class  GetmaxDemo
{

        public static void main(String[] args)
        {
                int [][]arr = {{2,1,4,-7},{-13,3,5,6},{121,-21,9,14}};
                int max = getMax(arr);
                System.out.println(max);
        }
        public static int getMax(int[][] arr)
        {
                int tem =0,tem1=0;
                for(int x = 0;x<arr.length;x++)
                {
                        for(int y =0;y<arr[x].length;y++)
                        if(arr[x][y]>arr[tem][tem1])
                        {
                                tem1 = y;
                                tem = x;
                        }
                }
                        return arr[tem][tem1];                       
        }

回复 使用道具 举报 1 0
遍历吧,感觉最快了
回复 使用道具 举报
循环外定义变量初始化为数组任意一个值,二维数组用两个for循环遍历,内层循环中用if进行判断
回复 使用道具 举报
正常解决就行了
回复 使用道具 举报
lf027 中级黑马 2015-3-27 22:03:25
7#
如果是这个题的话,肯定是先遍历,在判断>0,<0,=0,的数,取出负数,再进行比较,可就可以得出最小值了
回复 使用道具 举报
hhh233 中级黑马 2015-3-27 22:13:18
8#
快速的不会 只会基本的
  1.         static int Min(int x[][]) { // 最大值
  2.                 int min=0,min_1=0;
  3.                 for (int i = 0; i < x.length; i++) {
  4.                         for(int j=0;j<x[i].length;j++)
  5.                         {
  6.                         if (x[min][min_1] > x[i][j])
  7.                                 x[min][min_1] = x[i][j];
  8.                         }
  9.                 }
  10.                 return x[min][min_1];
  11.         }
复制代码
回复 使用道具 举报
只能想到遍历
回复 使用道具 举报
视频里不是有吗,多看看,多敲敲就会了哦
回复 使用道具 举报
利用循环嵌套,比较快吧
  1. class minTest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 //定义二维数组
  6.                 int[][] arr = {{2,1,4,-7},{-13,3,5,6},{121,-21,9,14}};
  7.                 int min = arr[0][0];
  8.                 //for循环嵌套,寻找最小值
  9.                 for (int x=0;x<arr.length ;x++ )
  10.                 {
  11.                         for(int y=0;y<arr.length;y++)
  12.                         {
  13.                                 if(arr[x][y]<min)
  14.                                 {
  15.                                         int temp = arr[x][y];
  16.                                         arr[x][y] = min;
  17.                                         min = temp;
  18.                                 }
  19.                         }
  20.                 }
  21.                 System.out.println(min);
  22.         }
  23. }
复制代码



回复 使用道具 举报
楼上都说了,我就不多说什么了。楼主好好加油。
回复 使用道具 举报
表示不理解   
回复 使用道具 举报
遍历,,
回复 使用道具 举报
就这整的
回复 使用道具 举报
l落落落叶 来自手机 中级黑马 2015-3-28 07:08:33
16#
谢谢,晓得了
回复 使用道具 举报
遍历吧,感觉应该这样
回复 使用道具 举报
目前只能想到遍历
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马