csp 201503-2 数字排序(java)

在这里插入图片描述
思路,创一个数组,输入的数相等于数组的下标,每输入一个数,就对应的下标+1;然后遍历,找出数组里的最大值,输出该下标和值,然后置0,当最大值的为0时,终止循环。


import java.util.Scanner;

public class Main {
    
    
    public static void main(String[] args) {
    
    
        Scanner input = new Scanner(System.in);
        int[] count = new int[1001];
        int n = input.nextInt();
        int a=-1;
        for (int i = 0; i < n;i++){
    
    
            a = input.nextInt();
            count[a]++;
        }
        for (int i = 0;i < n;i++){
    
    
            int max = 0;
            for (int j = 1; j < 1001;j++){
    
    
                if (count[j] > count[max]){
    
    
                    max = j;
                }
            }
            if (count[max]==0){
    
    
                break;
            }
            System.out.printf("%d %d\n",max,count[max]);
            count[max]=0;
        }
    }
}

原题链接:http://118.190.20.162/view.page?gpid=T26

猜你喜欢

转载自blog.csdn.net/weixin_46157208/article/details/108024491