1. 程式人生 > >CCF之門禁系統(java)

CCF之門禁系統(java)

試題編號: 201412-1
試題名稱: 門禁系統
時間限制: 1.0s
記憶體限制: 256.0MB
問題描述: 問題描述   濤濤最近要負責圖書館的管理工作,需要記錄下每天讀者的到訪情況。每位讀者有一個編號,每條記錄用讀者的編號來表示。給出讀者的來訪記錄,請問每一條記錄中的讀者是第幾次出現。 輸入格式   輸入的第一行包含一個整數n,表示濤濤的記錄條數。
  第二行包含n個整數,依次表示濤濤的記錄中每位讀者的編號。 輸出格式   輸出一行,包含n個整數,由空格分隔,依次表示每條記錄中的讀者編號是第幾次出現。 樣例輸入 5
1 2 1 1 3 樣例輸出 1 1 2 3 1 評測用例規模與約定   1≤n≤1,000,讀者的編號為不超過n的正整數。

解題程式碼(java):

方法一:

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		int N=scanner.nextInt();
		int[] arr=new int[N];
		int[] arr1=new int[N];
		arr1[0]=1;
		for(int i=0;i<N;i++){
			arr[i]=scanner.nextInt();
		}                                                                                                                                                                                                           
		for(int i=1;i<N;i++){
			int count=1;
			for(int j=i-1;j>=0;j--){
				if((arr[j])!=(arr[i])){
					arr1[i]=count;
				}else{
					count++;                                                                           
					arr1[i]=count;
				}                                                                                  
			}	
		}                                                                                                                                           
		for(int i=0;i<N;i++){
			System.out.print(arr1[i]+" ");
		}                                           
		
	
	}

}
方法二:
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt();
		int[]arr=new int[n];
		for(int i=0;i<arr.length;i++){
			arr[i]=scanner.nextInt();
		}
		for(int i=0;i<arr.length;i++){
			int count=1;
			for(int j=i-1;j>=0;j--){
				if(arr[j]==arr[i]){
					count++;	
				}	
			}
			System.out.print(count+" ");
		}
		
	}
}