ITPub博客

首页 > 应用开发 > Java > AJPFX关于通过索引获取最大值的思路

AJPFX关于通过索引获取最大值的思路

Java 作者:AJPFX 时间:2019-05-05 22:00:12 0 删除 编辑

/**
* 通过索引获取最大值
*
*
*/
public class Test1 {
        public static void main(String[] args) {
                int[] arr = {11,22,33,44,55,66};
                int max = getMax(arr);
                System.out.println(max);
                System.out.println("=======================");
                int max2 = getMaxByIndex(arr);
                System.out.println(max2);
                
                System.out.println("----------------------");
                int max3 = getMax(arr, true);
                System.out.println(max3);
                System.out.println("**************************");
                int max4 = getMax(arr,false);
                System.out.println(max4);
        }
        //通过假定数组中的第一个元素是最大值,然后不断的进行判断,最终获取对大值
        public static int getMax(int[] arr){
                int max = arr[0];//假设数组的第一个元素为最大值
                for(int i=0;i<arr.length;i++) {
                        if(max<arr[i]) {
                                max = arr[i];
                        }
                }
                return max;
        }
        /**
         * 此方法可以求出数组对应的最大值或者最小值
         * @param arr
         * @param flag :true:表示求最大值,false:表示求最小值
         * @return
         */
        public static int getMax(int[] arr,boolean flag){
                int max = arr[0];//假设数组的第一个元素为最值
                for(int i=0;i<arr.length;i++) {
                        if(flag) {
                                if(max<arr[i]) {
                                        max = arr[i];
                                }                                
                        } else {
                                if(max>arr[i]) {
                                        max = arr[i];
                                }
                        }
                }
                return max;
        }
        
        //通过获取最大值的角标,最终返回该角标对应的数值
        public static int getMaxByIndex(int[] arr){
                int max = 0;//假设数组的角标为0的元素是最大的
                for(int i=0;i<arr.length;i++) {
                        if(arr[max]<arr[i]) {
                                max = i; //max中存储的是当前最大值所对应的角标
                        }
                }
                return arr[max];
        }
        
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69920205/viewspace-2643352/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-05-03

  • 博文量
    65
  • 访问量
    58173