原创作品,转载请注明出处:https://www.cnblogs.com/sunshine5683/p/9927186.html
今天在工作中遇到对一个已知的一维数组取出其最大值和最小值,分别用于参与其他运算,废话不多说,直接上代码。
package xhq.text; public class Maxmin { static int count =0; public static void main(String args[]){ // 实例化对象 Maxmin maxmin = new Maxmin(); // 创建数组 int[] array = new int[]{10,23,45,11,757,2,1236,768,1,-9,11111111}; // 取得最小值 int max = maxmin.getMax(array,0,array.length-1); int min = maxmin.getMin(array,0,array.length-1); // 输出 System.out.println("最大值:"+max); System.out.println("最小值:"+min); } // 求最大值 public int getMax(int[] array,int i, int j){ int Maxx = 0; int Maxy = 0; if(i==j){ return Maxx = Maxy = array[j]; }else if(i == (j-1)){ Maxx= array[i]; Maxy = array[j]; return Maxx > Maxy ? Maxx : Maxy; }else{ int mid = (i+j)/2; Maxx = getMax(array, i, mid); Maxy = getMax(array, mid, j); return Maxx > Maxy ? Maxx:Maxy; } } // 求最小值 public int getMin(int[] array, int i, int j){ int Minx = 0; int Miny = 0; if(i == j){ return Minx = Miny = array[j]; }else if (i==(j-1)){ Minx = array[i]; Miny = array[j]; return Minx > Miny ? Miny:Minx; }else{ int mid = (i+j)/2; Minx = getMin(array, i, mid); Miny = getMin(array, mid, j); return Minx > Miny?Miny:Minx; } } }
这样,就得到了想要的结果,java的学习不只是这么简单,但是每一次的总结,都是为了更好的学习,为了给以后的工作和学习带来方便,本人也是新手,大佬勿喷,有不周到的地方,欢迎大家批评指正!