CCF--门禁系统--用Java语言实现

题目要求:


思路:
整体思路:通过建立两个数组,数组1存放n个整数,数组2存放n个整数第几次出现。
1.新建数组1,存入n个整数
2.新建数组2,并初始化数组第一个元素为1,(因为数组第一个元素肯定是第一次出现,而第二个元素可能与第一个元素相同或者不同。所以只需要设置第一个元素初始值为1)
2.1嵌套循环中,第一个for循环控制数组2的循环次数,第二个for循环控制遍历的次数,(从第二个元素开始,每一个元素都需要遍历前面的元素)比如第二个元素需要向前遍历看看第二个元素是第几次出现,之后元素也一样
2.2如果前面的元素与当前的元素都不同,则标记为1,如果相同的话,则继续记录下来,一直遍历到当前元素,然后输入

代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();		
		//存入数组1中
		int arr1[] = new int[n];
		for(int i =0;i<arr1.length;i++){
			arr1[i] = sc.nextInt();
		}
		
		int arr2[]= new int[n];
			arr2[0] =1;    //第一个数组元素
		for(int i =1;i<n;i++){
			int temp=1;			//第二个for循环结束后初始temp的值为1
			for(int j=i-1;j>=0;j--){    //从第二个数组元素开始遍历之前的数组元素是否有相同
				if(arr1[j] != arr1[i]){
					arr2[i] =temp;
				}else{
					temp++;
					arr2[i] =temp;
				}
				}
			}
		//输出
		for(int i =0;i<arr2.length;i++){
			System.out.print(arr2[i]+" ");
		}	
	}
}


如有不对,请多批评。。。转载需声明。。。后续继续更新用java实现ccf例题









猜你喜欢

转载自blog.csdn.net/weixin_41744556/article/details/80973310