1. 程式人生 > >java寫程式碼1——眾數問題

java寫程式碼1——眾數問題

1080: 眾數問題

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 18  Solved: 17
[Submit][Status][Web Board]

Description

問題描述:
給定含有n個元素的多重集合S,每個元素在S中出現的次數稱為該元素的重數。多重集S中重數最大的元素稱為眾數。
例如,S={1,2,2,2,3,5}。多重集S的眾數是2,其重數為3。
程式設計任務:
對於給定的由n 個自然陣列成的多重集S,程式設計計算S 的眾數及其重數。

Input

第1行多重集S中元素個數n(n<=50000);接下來的n 行中,每行有一個自然數。

Output

輸出檔案有2 行,第1 行給出眾數,第2 行是重數。(如果有多個眾數,只輸出最小的)

Sample Input

6
1
2
2
2
3
5

Sample Output

2
3
import java.util.Scanner; 
public class Main { 
    public static void main(String args[]){ 
        Scanner a=new Scanner(System.in); 
        int num[]; 
        int k; 
        k=a.nextInt(); 
        num=new int[k]; 
        int sum[]=new int[k]; 
        for(int i=0;i<k;i++) 
            sum[i]=0; 
        for(int i=0;i<k;i++) 
            num[i]=a.nextInt(); 
        for(int i=0;i<k;i++) 
            for(int j=0;j<k;j++){ 
                if(num[i]==num[j]){ 
                    sum[i]++; 
                } 
            } 
        int max=0; 
        int s=0; 
        for(int i=0;i<k;i++) 
            if(sum[i]>max){ 
                max=sum[i]; 
                s=num[i]; 
            } 
        System.out.println(s); 
        System.out.println(max); 
          
    } 
} 
/************************************************************** 
    Problem: 1080 
    User: jk1_201330551105 
    Language: Java 
    Result: Accepted 
    Time:144 ms 
    Memory:14508 kb 
****************************************************************/