ccf-csp201312-1 出現次數最多的數 java
阿新 • • 發佈:2018-12-12
問題描述
試題編號: | 201312-1 |
試題名稱: | 出現次數最多的數 |
時間限制: | 1.0s |
記憶體限制: | 256.0MB |
問題描述: |
問題描述 給定n個正整數,找出它們中出現次數最多的數。如果這樣的數有多個,請輸出其中最小的一個。 輸入格式 輸入的第一行只有一個正整數n(1 ≤ n ≤ 1000),表示數字的個數。 輸入的第二行有n個整數s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相鄰的數用空格分隔。 輸出格式 輸出這n個次數中出現次數最多的數。如果這樣的數有多個,輸出其中最小的一個。 樣例輸入 6 10 1 10 20 30 20 樣例輸出 10 |
答題欄
import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub int N; Scanner s = new Scanner(System.in); N = s.nextInt(); int[][] a = new int[2][N];//建立二維陣列,0行存輸入的數,1行存數出現的次數 int[] value = new int[N]; int i, j; for(i=0; i<N; i++) { //錄入數值 a[0][i] = s.nextInt(); //判斷輸入的數,前面是否出現過,出現頻率加一 for(j=0; j<i; j++) { if(a[0][j]==a[0][i]) { a[1][j]++; break; } } } ///查找出現頻率最多(頻率相同時數最小)的下標 int index=0; for(i=1; i<N; i++) { if(a[1][index]<a[1][i]) { index = i; }else if(a[1][index]==a[1][i]&&a[0][index]>a[0][i]) { index = i; } } //輸出找到的結果,出現頻率最高的數 System.out.println(a[0][index]); } }