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

    实验题目

      1 三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数  目超过了帖子数目的一半。
      2 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?(参考核心代码)
      3 随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?
    实验思想
      给三个水王命名为result1,result2,restult3,首先先给result1,result2,restult3赋值,即赋值给不同的三个ID,如果后面的ID和result不一样,则times都减1,即去掉三个不相同的数据,最后得到的result1,result2,restult3即为水王。
    #include "stdafx.h"
    #include "iostream"
    using namespace std;
    
    int main()
    {
        int a[16]={1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,3};
        int result1;
        int result2;
        int result3;
        int times1=0;
        int times2=0;
        int times3=0;
        for(int i = 0; i < 16; i++)
        {
            if(times1==0)
            {
                result1=a[i];
                times1=1;
            }
            else
            {
                if(a[i]==result1)
                {
                    times1++;
                }
                else
                {
                    if(times2==0)
                    {
                        result2=a[i];
                        times2=1;
                    }
                    else
                    {
                        if(a[i]==result2)
                        {
                            times2++;
                        }
                        else
                        {
                            if(times3==0)
                            {
                                result3=a[i];
                                times3=1;
                            }
                            else
                            {
                                if(a[i]==result3)
                                {
                                    times3++;
                                }
                                else
                                {
                                    times1--;
                                    times2--;
                                    times3--;
                                }
                            }
                        }
                    }
                }
            }
        }
        cout<<"水王为:"<<endl<<result1<<endl<<result2<<endl<<result3<<endl;
        return 0;
    }

    实验心得:

    这个实验真是拖了好久,我记得是上个星期就已经布置下来的作业,今天才想着来做它。水王2是在上一篇水王的基础上完成的,上次是二分之一,这次是四分之一,真是够了,如果可以用最笨的方法,它好像早就解决了,非得考虑时间复杂度。考虑就考虑吧,反正也做出来了。

  • 相关阅读:
    修改linux的hostname (修改linux系统的IP和hostname)
    linux自动ftp上传与下载文件的简单脚本
    Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
    用SQL命令查看Mysql数据库大小
    linux screen 命令详解
    mysql常用命令
    Linux 设置mysql开机启动
    源码编译mysql 5.5+ 安装过程全记录
    nagios-plugins安装报错--with-mysql: no
    Spark 中在处理大批量数据排序问题时,如何避免OOM
  • 原文地址:https://www.cnblogs.com/wantong/p/4469495.html
Copyright © 2011-2022 走看看