在一個數組里面找出最小的兩個數


找出數組中最小的兩個數,在一次遍歷中就可以實現,m1來表示最小的值,m2表示出現次小的值

代碼如下:

import java.util.Scanner;

public class FindTwoLow {
    public static void main(String []args){

        //find  two  lowest
        int[] arr={5,4,6,3,9,12,35,42,18,29,30};
        int m1,m2;//存儲兩個最小值
        m1=arr[0];
        m2=arr[0];
        for(int i=0;i<arr.length;i++){
            if(arr[i]<m1){
                m2=m1;
                m1=arr[i];
            }else if(arr[i]<m2){
                m2=arr[i];
            }
        }
        System.out.println(m1+","+m2);

    }


}

思路:第一個判斷用來保存最小值,第二個判斷用來保存次小值,當出現比m1小的數的時候,把之前m1的值給m2,更新m1;

當第一個條件不滿足,才會去判斷第二個條件,為的是怕當前arr[i]比次小值小,所以對其判斷下。如此一來 當數組遍歷一遍后,就找到了最小值 m1次小值m2;


免責聲明!

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



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