[Java] Java代码同时求数列的最大值与最小值 →→→→→进入此内容的聊天室

来自 , 2019-11-01, 写在 Java, 查看 151 次.
URL http://www.code666.cn/view/4ee78d41
  1. package agrisom;
  2. /**
  3.  * 同时求最大值与最小值
  4.  */
  5. public class FindMaxAndMin {
  6.     public void findMaxAndMin(int [] array){
  7.         int length=array.length;
  8.         int max,min;
  9.         if(length==0){
  10.             System.out.println("array empty");
  11.             System.exit(1);
  12.         }else if(length==1){
  13.             max=min=array[0];
  14.         }else if(length==2){
  15.             max=array[0]>array[1] ? array[0] : array[1];
  16.             min=array[0]>array[1] ? array[1] : array[0];
  17.         }
  18.        
  19.         int i;
  20.         if((length & 1)==1){ //数组长度为奇数
  21.             max=min=array[0];
  22.             i=1;
  23.         }else{               //数组长度为偶数
  24.             max=array[0]>array[1] ? array[0] : array[1];
  25.             min=array[0]>array[1] ? array[1] : array[0];
  26.             i=2;
  27.         }
  28.        
  29.         for(;i<length;i+=2){
  30.             if(array[i] > array[i+1]){
  31.                 max=max<array[i] ? array[i] : max;
  32.                 min=min>array[i+1] ? array[i+1] : min;
  33.             }else{
  34.                 max=max<array[i+1] ? array[i+1] : max;
  35.                 min=min>array[i] ? array[i] : min;
  36.             }
  37.         }
  38.        
  39.         System.out.println("max: "+max);
  40.         System.out.println("min: "+min);
  41.     }
  42.    
  43.     public static void main(String [] args){
  44.         FindMaxAndMin fmm=new FindMaxAndMin();
  45.         fmm.findMaxAndMin(new int []{4,3,6,9,1,56,22});
  46.         fmm.findMaxAndMin(new int []{4,3,6,9,1,56});
  47.         fmm.findMaxAndMin(new int []{4,3});
  48.         fmm.findMaxAndMin(new int []{2});
  49.         fmm.findMaxAndMin(new int []{});
  50.     }
  51. }
  52. /**
  53. 运行结果:
  54. max: 56
  55. min: 1
  56. max: 56
  57. min: 1
  58. max: 4
  59. min: 3
  60. max: 2
  61. min: 2
  62. array empty
  63. */
  64.  
  65. //java/6335

回复 "Java代码同时求数列的最大值与最小值"

这儿你可以回复上面这条便签

captcha