問 題 描述: |
問題描述 濤濤最近要負責圖書館的管理工作,需要記錄下每天讀者的到訪情況。每位讀者有一個編號,每條記錄用讀者的編號來表示。給出讀者的來訪記錄,請問每一條記錄中的讀者是第幾次出現。 輸入格式 輸入的第一行包含一個整數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 + " ");
}
}