【CSP】【Java 100分】数字排列

思路:创建一个1001的数组,利用的是题目给定的条件,所有的数字均不超过1000。 把出现的数字存放在这个1000的数组里面。arr[sc.nextInt]++;

package _2_14_数字排列;

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[1001];
		
		//对出现的次数进行统计
		while(n>0){
			arr[scanner.nextInt()]++;
			n--;
		}
		scanner.close();
		
		//输出 
		while(true){
			int max = 0;
			int index = -1;
			for (int i = 0; i < arr.length; i++) {
				if(arr[i]>max){ //这里不用>= ,避免出现次数相同,大的替换了小的。
					max = arr[i];
					index = i;
				}
			}
			
			if(max == 0){
				break;
			} else {
				System.out.println(index + " " +max);
				arr[index] = 0;
			}
			
		}
		
	}
}

发布了99 篇原创文章 · 获赞 18 · 访问量 3715

猜你喜欢

转载自blog.csdn.net/alovelypeach/article/details/104874705