java写代码1——众数问题

本文介绍了一个关于众数问题的编程挑战,通过遍历输入的自然数集合来找出出现次数最多的数字及其频率。示例使用Java实现,适用于处理大规模数据集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 
****************************************************************/


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值