1. 程式人生 > >201312-1 出現次數最多的數

201312-1 出現次數最多的數

在lettcode上學了用map,時間複雜度O(n)

java滿分程式碼奉上

import java.util.HashMap;
import java.util.Scanner;

public class Main{

    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] numArr = new int[n];
        HashMap<Integer, Integer> hashMap = new HashMap<>();
        for(int i  = 0; i < n; i++){
            numArr[i] = scanner.nextInt();
            hashMap.put(numArr[i], 0);
        }
        scanner.close();

        int maxCount = 0;
        int minNum = 0;
        for(int num : numArr){
            hashMap.put(num, hashMap.get(num) + 1);
            int count = hashMap.get(num);
            if(count > maxCount){
                maxCount = count;
                minNum = num;
            } else if(count == maxCount && num < minNum){
                minNum = num;
            }
        }

        System.out.println(minNum);
    }
}