• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

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

JAVA相关 水墨上仙 1581次浏览

Java代码同时求数列的最大值与最小值
转自:http://blog.csdn.net/zhangheliang2010/article/details/8107785

package agrisom;
/**
 * 同时求最大值与最小值
 */
public class FindMaxAndMin {
    public void findMaxAndMin(int [] array){
        int length=array.length;
        int max,min;
        if(length==0){
            System.out.println("array empty");
            System.exit(1);
        }else if(length==1){
            max=min=array[0];
        }else if(length==2){
            max=array[0]>array[1] ? array[0] : array[1];
            min=array[0]>array[1] ? array[1] : array[0];
        }
        
        int i;
        if((length & 1)==1){ //数组长度为奇数
            max=min=array[0];
            i=1;
        }else{               //数组长度为偶数
            max=array[0]>array[1] ? array[0] : array[1];
            min=array[0]>array[1] ? array[1] : array[0];
            i=2;
        }
        
        for(;i<length;i+=2){
            if(array[i] > array[i+1]){
                max=max<array[i] ? array[i] : max;
                min=min>array[i+1] ? array[i+1] : min;
            }else{
                max=max<array[i+1] ? array[i+1] : max;
                min=min>array[i] ? array[i] : min;
            }
        }
        
        System.out.println("max: "+max);
        System.out.println("min: "+min);
    }
    
    public static void main(String [] args){
        FindMaxAndMin fmm=new FindMaxAndMin();
        fmm.findMaxAndMin(new int []{4,3,6,9,1,56,22});
        fmm.findMaxAndMin(new int []{4,3,6,9,1,56});
        fmm.findMaxAndMin(new int []{4,3});
        fmm.findMaxAndMin(new int []{2});
        fmm.findMaxAndMin(new int []{});
    }
}
/**
运行结果:
max: 56
min: 1
max: 56
min: 1
max: 4
min: 3
max: 2
min: 2
array empty
*/


喜欢 (0)
加载中……