原創作品,轉載請註明出處:https://www.cnblogs.com/sunshine5683/p/9927186.html 今天在工作中遇到對一個已知的一維數組取出其最大值和最小值,分別用於參與其他運算,廢話不多說,直接上代碼。 package xhq.text; public class M ...
原創作品,轉載請註明出處: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的學習不只是這麼簡單,但是每一次的總結,都是為了更好的學習,為了給以後的工作和學習帶來方便,本人也是新手,大佬勿噴,有不周到的地方,歡迎大家批評指正!