好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

CCF考试试题之门禁系统java解题代码

问题描述

  涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。

输入格式

  输入的第一行包含一个整数n,表示涛涛的记录条数。
  第二行包含n个整数,依次表示涛涛的记录中每位读者的编号。

输出格式

  输出一行,包含n个整数,由空格分隔,依次表示每条记录中的读者编号是第几次出现。

样例输入

5
1 2 1 1 3

样例输出

1 1 2 3 1

评测用例规模与约定

  1≤n≤1,000,读者的编号为不超过n的正整数。

解题代码(java):

方法一:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

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]+ " " );

  }     

 

 

  }

 

}

方法二:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

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+ " " );

  }

 

  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:https://blog.csdn.net/zjj582984208/article/details/55212571

查看更多关于CCF考试试题之门禁系统java解题代码的详细内容...

  阅读:9次