思路:创建一个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;
}
}
}
}