zoukankan      html  css  js  c++  java
  • 找水王2

    一、题目

       三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有3个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖 数目超过了帖子数目的四分之一。

      如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个三个传说中的水王吗?

    二、设计思想

       从头到尾遍历帖子列表,比较相邻两个id,若相同,则记相同的id有几个,否则,将两个id消掉,同时计数减一。记录三个id。

    三、源代码

    #include<iostream.h>

    int main()

    {

        int arry[16]={1,2,3,3,2,2,2,2,3,3,4,4,4,4,3,4};

        int id1=arry[0],id2=arry[1],id3=arry[2];

        int k1=0,k2=0,k3=0;

        for(int i=0;i<15;)

        {

            if(id1==arry[i])

            {

                id1=arry[i];

                k1++;

                i++;

            }

            else if(arry[i]==id2)

            {

                id2=arry[i];

                k2++;

                i++;

            }

            else if(arry[i]==id3)

            {

                id3=arry[i];

                k3++;

                i++;

            }

            else

            {

                k1--;

                if(k1<1)

                {

                    id1=arry[i+1];

                    k1=0;

                }

                if(k2<1)

                {

                    id2=arry[i+1];

                    k2=0;

                }

                if(k3<1)

                {

                    id3=arry[i+1];

                    k3=0;

                }

                i++;

            }

        }

        cout<<id1<<"  "<<id2<<"  "<<id3<<"  ";

        return 0;

    }

    四、结果截图

     

    五、实验心得

    这次实验题目不难,但是想想出好的解决方案却不容易,做完实验后,我认为以后遇到问题要多从不同的角度思考。

  • 相关阅读:
    【源码剖析】HashMap1.7 详解
    友链
    P4747 [CERC2017]Intrinsic Interval
    Educational Codeforces Round 97 简要题解
    CF908D New Year and Arbitrary Arrangement(期望 dp)
    一个方便的自定义注解,管理实体类
    Leetcode 657 机器人能否回到原点
    Leetcode 695 岛屿的最大面积 二维平面DFS
    WebSocket 的简单用例
    俄罗斯方块JAVA
  • 原文地址:https://www.cnblogs.com/weaponx/p/4583096.html
Copyright © 2011-2022 走看看