找水王2

Posted 圣龙阿布

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找水王2相关的知识,希望对你有一定的参考价值。

一:程序设计背景

    随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?

 二:设计思想

    此问题跟找水王1类似,只不过从1:1的消除变成了3:1的消除,其他的count加法都类似。

三:代码实现

//寻找水王2
//信1405-1班   20142966  黄伟鹏
import java.util.Scanner;
public class find2 
{
    public static void main(String[] args) 
    {
        int i,Number;
        System.out.println("请输入帖子总数:");
        Scanner in=new Scanner(System.in);
        Number=in.nextInt();
        int list[]=new int[Number];    //定义一个长度为帖子长度的数组
        int count[]=new int[3];    //定义一个分别对三个水王重复值进行计数的数组
        int middle[]=new int[3];    //定义一个分别对三个水王进行赋值的中间数组
        System.out.println("请输入帖子的ID");
        Scanner t=new Scanner(System.in);
        for(i=0;i<Number;i++)     //将帖子ID赋值给数组
        {
            list[i]=t.nextInt();
        }
        for(i=0;i<3;i++)    //将计数数组初始化
        {
            count[i]=0;
        }
        for(i=0;i<Number;i++)
        {
            if(middle[0]==list[i])
            {
                count[0]++;
            }
            else if(middle[1]==list[i])
            {
                count[1]++;
            }
            else if(middle[2]==list[i])
            {
                count[2]++;
            }
            else if(count[0]==0)
            {
                count[0]++;
                middle[0]=list[i];
            }
            else if(count[1]==0)
            {
                count[1]++;
                middle[1]=list[i];
            }
            else if(count[2]==0)
            {
                count[2]++;
                middle[2]=list[i];
            }
            else
            {
                count[0]--;
                count[1]--;
                count[2]--;
            }
        }
        System.out.println("第一个水王的ID是 :     "+middle[0]);    
        System.out.println("第二个水王的ID是 :     "+middle[1]);    
        System.out.println("第三个水王的ID是 :     "+middle[2]);    
    }

}

四:实现截图

                                                     

五:个人总结

   此题有数种方法可以实现,但题中要求快速找到即算法简便,只要将帖子数最多的ID找到即可。

 

以上是关于找水王2的主要内容,如果未能解决你的问题,请参考以下文章

找水王2

找水王

找水王

软件工程作业-找水王2

找水王

找水王2