原创作品,转载请注明出处: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的学习不只是这么简单,但是每一次的总结,都是为了更好的学习,为了给以后的工作和学习带来方便,本人也是新手,大佬勿喷,有不周到的地方,欢迎大家批评指正!

 

posted on 2018-11-08 09:01  续写心语  阅读(11805)  评论(0编辑  收藏  举报