java快速獲取數組中第二大的數


思路:如果當前元素大於最大數 a1,則讓第二大數a2等於原來的最大數 a1,再把當前元素的值賦給 a1

package com.ht.timelycloud.algorithm;

/**
* @ClassName: SecondBigNumber
* @Description: 快速獲取一個整數數組中 第二大的整數
* @author Timely-03
* @date 2020年5月13日
*
 */
public class SecondBigNumber {

    public static void main(String[] args) {
        int a1 = 0;    // 第一大的數
        int a2 = 0;    // 第二大的數

        int[] arr = new int[] {999,999,4,5,6,7,3,2,169,90,100,4,5,22,3,33,12,102,170,140,11,23};

        for (int i=0,len=arr.length; i<len; i++) {
            // 第一大的數 & 第二大的數
            if (arr[i] > a1) {
                a2 = a1;
                a1 = arr[i];
                
                continue;
            }
            
            // 第二大的數
            // arr[i] != a1 過濾最大數重復的情況(按照場景決定是否需要過濾)
            if (arr[i] > a2 && arr[i] != a1) {
                a2 = arr[i];
            }
        }

        System.out.println(a1);
        System.out.println(a2);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM