0011:数字统计

版权声明: https://blog.csdn.net/SunPeishuai/article/details/81461671

  

总时间限制:

1000ms

内存限制:

100000kB

描述

输入n个整数,统计每个数出现的次数.

输入

第一行是一个整数n(1<=n<=1000),接下来n行每行一个整数.

输出

第一行输出总共有多少个不同的整数.
接下来每行输出一个整数及这个整数出现的次数,用空格分隔.
输出的整数的顺序与它们在输入中第一次出现的顺序一致(即在输入中先出现的数,也会在输出中先出现)

样例输入

5
2
3
2
1
2

样例输出

3
2 3
3 1
1 1

此题略坑,想复杂了


import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
    	Scanner in=new Scanner(System.in);
       int n=in.nextInt();
       int arr[]=new int[10];
       int xu[]=new int[10];
       
       int ans=0,j=1;
       for(int i=1;i<=n;i++) {
    	   int temp=in.nextInt();
    	   arr[temp]++;
    	   xu[j]=temp;
    	   int t=1;
    	   for(int k=1;k<j;k++) {
    		   if(xu[k]==temp) {
    			   t=0;
    		   }
    	   }
    	   if(t!=0) {
    		   j++;
    		   xu[j]=temp;
    		  
    	   }
       }
       for(int i=0;i<10;i++) {
    	   if(arr[i]!=0) {
    		   ans++;
    	   }
       }
    	System.out.println(ans); 
    	for(int i=1;i<=ans;i++) {
    		if(arr[xu[i]]!=0) {
    			System.out.print(xu[i]+" ");
    			System.out.println(arr[xu[i]]);
    		
    		}
    	}
       
    }
}

猜你喜欢

转载自blog.csdn.net/SunPeishuai/article/details/81461671