原创作品,转载请注明出处:https://www.cnblogs.com/sunshine5683/p/9927186.html
今天在工作中遇到对一个已知的一维数组取出其最大值和最小值,分别用于参与其他运算,废话不多说,直接上代码。
1 package xhq.text; 2 3 public class Maxmin { 4 5 static int count =0; 6 7 public static void main(String args[]){ 8 9 // 实例化对象 10 11 Maxmin maxmin = new Maxmin(); 12 13 // 创建数组 14 15 int[] array = new int[]{10,23,45,11,757,2,1236,768,1,-9,11111111}; 16 17 // 取得最小值 18 19 int max = maxmin.getMax(array,0,array.length-1); 20 21 int min = maxmin.getMin(array,0,array.length-1); 22 23 // 输出 24 25 System.out.println("最大值:"+max); 26 27 System.out.println("最小值:"+min); 28 29 } 30 31 32 33 // 求最大值 34 35 public int getMax(int[] array,int i, int j){ 36 37 int Maxx = 0; 38 39 int Maxy = 0; 40 41 if(i==j){ 42 43 return Maxx = Maxy = array[j]; 44 45 }else if(i == (j-1)){ 46 47 Maxx= array[i]; 48 49 Maxy = array[j]; 50 51 return Maxx > Maxy ? Maxx : Maxy; 52 53 }else{ 54 55 int mid = (i+j)/2; 56 57 Maxx = getMax(array, i, mid); 58 59 Maxy = getMax(array, mid, j); 60 61 return Maxx > Maxy ? Maxx:Maxy; 62 63 } 64 65 } 66 67 // 求最小值 68 69 public int getMin(int[] array, int i, int j){ 70 71 int Minx = 0; 72 73 int Miny = 0; 74 75 if(i == j){ 76 77 return Minx = Miny = array[j]; 78 79 }else if (i==(j-1)){ 80 81 Minx = array[i]; 82 83 Miny = array[j]; 84 85 return Minx > Miny ? Miny:Minx; 86 87 }else{ 88 89 int mid = (i+j)/2; 90 91 Minx = getMin(array, i, mid); 92 93 Miny = getMin(array, mid, j); 94 95 return Minx > Miny?Miny:Minx; 96 97 } 98 99 } 100 101 }
这样,就得到了想要的结果,java的学习不只是这么简单,但是每一次的总结,都是为了更好的学习,为了给以后的工作和学习带来方便,本人也是新手,大佬勿喷,有不周到的地方,欢迎大家批评指正!