题目:

给出一个数组 {7,3,19,40,4,7,1};找出第二大的值

思路:

定义两个变量:一个变量用来存储数组的最大值,初始为数组首元素。另一个变量用来存储数组元素的第二大数,初始值为最小负整数,然后遍历数组元素。

实现:

 public static int findSecMax(int[] arr) {
        int max = arr[0];
        //得到整型最小值
        int sec_max = Integer.MIN_VALUE;
        for(int i=0;i<arr.length;i++) {
            if(arr[i] > max) {
                sec_max = max;
                max = arr[i];
            }else {
                if(arr[i] > sec_max) {
                    sec_max = arr[i];
                }
            }
        }
        return sec_max;
    }
    public static void main(String[] args) {
        int[] array = {7,3,19,40,4,7,1};
        System.out.println("第二大的数为:"+findSecMax(array));
    }

程序输出结果如下:

第二大的数为:19


版权声明:本文为ningmengbaby原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/ningmengbaby/article/details/102468984