java寫程式碼1——眾數問題
阿新 • • 發佈:2019-01-24
1080: 眾數問題
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 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 ****************************************************************/