CCF201412 門禁系統(JAVA)
阿新 • • 發佈:2018-11-23
問 題 描述: |
問題描述 濤濤最近要負責圖書館的管理工作,需要記錄下每天讀者的到訪情況。每位讀者有一個編號,每條記錄用讀者的編號來表示。給出讀者的來訪記錄,請問每一條記錄中的讀者是第幾次出現。 輸入格式 輸入的第一行包含一個整數n,表示濤濤的記錄條數。 輸出格式 輸出一行,包含n個整數,由空格分隔,依次表示每條記錄中的讀者編號是第幾次出現。 樣例輸入 5 樣例輸出 1 1 2 3 1 評測用例規模與約定 1≤n≤1,000,讀者的編號為不超過n的正整數。 |
package accessControlSystem; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Main { @SuppressWarnings("resource") public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n = sc.nextInt();// 記錄條數 Map<Integer, Integer> record = new HashMap<>(); // 用於記錄對應編號的來訪者訪問次數。key為來訪者編號,value為該編號訪問次數 int[] result = new int[n]; for (int i = 0; i < n; i++) { int key = sc.nextInt();// 當前來訪者編號 if (!record.containsKey(key))// 訪問記錄中沒有該編號的訪問記錄則建立 record.put(key, 1); else record.put(key, record.get(key) + 1);// 訪問次數+1 result[i] = record.get(key);// 將當前訪問次數記錄到要輸出的結果中 } for (int r : result) System.out.print(r + " "); } }